Feat/yoink gh pages workflow (#233)

Co-authored-by: Xithrius <15021300+Xithrius@users.noreply.github.com>
This commit is contained in:
Nadhem 2022-10-07 05:00:53 +01:00 committed by GitHub
parent c8ad42da0b
commit 258b884339
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 225 additions and 0 deletions

35
.github/workflows/mdBook.yml vendored Normal file
View File

@ -0,0 +1,35 @@
name: Build & deploy mdBook
on:
workflow_run:
workflows:
- CI
types:
- completed
branches:
- main
jobs:
rustdoc:
if: github.repository == 'Xithrius/twitch-tui' && github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'
- name: Build mdBook
run: |
cd book
mdbook build
- name: Deploy mdBook
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./book/book

View File

@ -109,6 +109,10 @@
</details>
## Links
- Documentation: https://xithrius.github.io/twitch-tui/
## Setup
1. Install Rustup from the [rust-lang website](https://www.rust-lang.org/learn/get-started).

1
book/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
book

6
book/book.toml Normal file
View File

@ -0,0 +1,6 @@
[book]
authors = ["Nadhem"]
language = "en"
multilingual = false
src = "src"
title = "twitch-tui"

127
book/src/README.md Normal file
View File

@ -0,0 +1,127 @@
# Twitch chat in the terminal
[![CI](https://github.com/Xithrius/twitch-tui/actions/workflows/ci.yml/badge.svg)](https://github.com/Xithrius/twitch-tui/actions/workflows/ci.yml)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Xithrius/twitch-tui/main.svg)](https://results.pre-commit.ci/latest/github/Xithrius/twitch-tui/main)
[![Lines of code](https://tokei.rs/b1/github/Xithrius/twitch-tui?category=code)](https://github.com/Xithrius/twitch-tui)
[![Crate Status](https://img.shields.io/crates/v/twitch-tui.svg)](https://crates.io/crates/twitch-tui)
![image](https://user-images.githubusercontent.com/15021300/155114244-00704633-e852-49bb-9a5a-33c623f775f8.png)
## Keybinds
<details>
<summary>Normal mode</summary>
<table>
<tr>
<td> <b>Key</b>
<td> <b> Description</b>
<tr>
<td> c
<td> Go to the chat window chat.
<tr>
<td> i
<td> Enter message input mode for sending messages. Exit this mode with `Esc`.
<tr>
<td> ?
<td> Have the keybinds popup window appear.
<tr>
<td> q
<td> Quit out of the entire application once in the base chat view.
<tr>
<td> s
<td> Open a popup window to switch channels.
<tr>
<td> Ctrl + f
<td> Enter message search mode, which highlights messages in the main window which match the query.
<tr>
<td> Ctrl + t
<td> Toggle the filter.
<tr>
<td> Ctrl + r
<td> Reverse the filter.
<tr>
<td> Ctrl + p
<td> Manually trigger a panic, so the application crashes.
<tr>
<td> Esc
<td> Exits out of layered windows, such as going from the help window to normal view.
</table>
</details>
<details>
<summary>Input mode (message sending/searching, channel swapping)</summary>
<table>
<tr>
<td> <b>Key</b>
<td> <b> Description</b>
<tr>
<td> Ctrl + w
<td> Cuts a single word (from the cursor to the next whitespace).
<tr>
<td> Ctrl + u
<td> Cuts the entire line.
<tr>
<td> Ctrl + f
<td> Move cursor to the right.
<tr>
<td> Ctrl + b
<td> Move cursor to the left.
<tr>
<td> Ctrl + a
<td> Move cursor to the start.
<tr>
<td> Ctrl + e
<td> Move cursor to the end.
<tr>
<td> Alt + f
<td> Move to the end of the next word.
<tr>
<td> Alt + b
<td> Move to the start of the previous word.
<tr>
<td> Ctrl + t
<td> Swap previous character with current character.
<tr>
<td> Alt + t
<td> Swap previous word with current word.
<tr>
<td> Ctrl + u
<td> Remove everything before the cursor.
<tr>
<td> Ctrl + k
<td> Remove everything after the cursor.
<tr>
<td> Ctrl + w
<td> Remove the previous word.
<tr>
<td> Ctrl + d
<td> Remove character to the right.
<tr>
<td> Tab
<td> Fill in suggestion, if available.
<tr>
<td> Enter
<td> Confirm the current text to go through (doesn't do anything in message search mode).
</table>
</details>
## Links
- Documentation: https://xithrius.github.io/twitch-tui/
## Setup
1. Install Rustup from the [rust-lang website](https://www.rust-lang.org/learn/get-started).
2. Install the program through `cargo install twitch-tui`. You can use this same command to update the program in the future. To install a specific version, use a version number from the [releases page](https://github.com/Xithrius/twitch-tui/releases) and the `--version` flag (ex. `cargo install twitch-tui --version "2.0.0-alpha.1"`).
3. Run the program with `twt` in the terminal to generate the default configuration at the paths below. If the directories don't exist, they will be created for you.
- Linux/MacOS: `~/.config/twt/config.toml`
- Windows: `%appdata%\twt\config.toml`
4. Get an OAuth token from [Twitch](https://twitchapps.com/tmi/), and place the value in the `token` variable in the `config.toml` that was previously generated.
5. Once you're done modifying the config file, run `twt` again, and enjoy! Run `twt --help` if you're looking for more options/arguments.
If you have any problems, do not hesitate to [submit an issue](https://github.com/Xithrius/twitch-tui/issues/new/choose).
Along with this application, I recommend using [streamlink](https://github.com/streamlink/streamlink) so there's no more need for a browser.

7
book/src/SUMMARY.md Normal file
View File

@ -0,0 +1,7 @@
# Summary
[Introduction](./README.md)
# User Guide
- [Installation](guide/installation.md)

View File

@ -0,0 +1,45 @@
# Installation
Once you have installed Rust, the following command can be used to build and install twitch-tui:
```sh
cargo install twitch-tui
```
This will automatically download mdBook from [crates.io], build it, and install it in Cargo's global binary directory (`~/.cargo/bin/` by default).
To uninstall, run the command `cargo uninstall twitch-tui`.
[rust installation page]: https://www.rust-lang.org/tools/install
[crates.io]: https://crates.io/
## Running twitch-tui
#### Config
Create the following config file `config.toml`. The full list of config is available in the [default-config.toml].
- Linux/MacOS: `~/.config/twt/config.toml`
- Windows: `%appdata%\twt\config.toml`
[default-config.toml]: https://github.com/Xithrius/twitch-tui/blob/main/default-config.toml
#### Auth
Get an OAuth token from [Twitch](https://twitchapps.com/tmi/), and place the value in the `token` variable in the `config.toml` that was previously generated.
#### Run it
Run the program with `twt` in the terminal to generate the default configuration at the paths below.
```sh
twt
```
#### Help and options
Run `twt --help` if you're looking for more options/arguments.
```sh
twt --help
```