A simple toolbox bash script for main repositry Textbook. This contains GitHub automations, auto commit or auto issue for example. This has 2 mode, Interactive and basic commands. (TextBook ToolBox === TB2)
3 opts, all one-line so you can now copy-and-paste to run.
git clone https://github.com/techno-tutors/tb2.git;
cd tb2;
sh ./install.sh;curl -fsSL https://raw.githubusercontent.com/techno-tutors/tb2/refs/heads/main/install.sh | shwget -qO- https://raw.githubusercontent.com/techno-tutors/tb2/refs/heads/main/install.sh | sh<GitHubの動き>にはGitのみの動作も含まれます。
tb2 book new -b BOOKNAME
#または
tb2 book new BOOKNAME新しい本NAMEを作成します。
- GitHub ProjectへBOOKNAMEが追加されます。
tb2 book list本一覧を表示します。
tb2 chapter new -c CHAPTERNAME -b BOOKNAME
#または
tb2 chapter new BOOKNAME/CHAPTERNAME新しいチャプターNAMEを本BOOKNAMEに作成します。
- チャプター用のブランチがdraftから切られます。
- チャプター用のissueがProject(BOOKNAME)に立てられます。
tb2 chapter save -c CHAPTERNAME -b BOOKNAME
#または
tb2 chapter save BOOKNAME/CHAPTERNAMEチャプターを保存します。
- チャプター用のブランチをdraftブランチにプルリクエストします。
tb2 chapter list -b BOOKNAME
#または
tb2 chapter list BOOKNAME本BOOKNAMEのチャプター一覧を表示します。
tb2 page new -c CHAPTERNAME -b BOOKNAME [-p PAGENAME]
#または
tb2 page new BOOKNAME/CHAPTERNAME/PAGENAMEテンプレートからMDを作成します。
-pを指定しなかった場合、ページの名前は連番でpageNとなります。
- SubIssueが立てられます。
tb2 page save -c CHAPTERNAME -b BOOKNAME -p PAGENAME
#または
tb2 page save CHAPTERNAME/BOOKNAME/PAGENAMEページを保存します。
- コミット、及びその一連の流れをします。
tb2 project listプロジェクト全体の本とチャプターを表示します。
tb2 project list -p|-pageプロジェクト全体の本,チャプター,及びそれに含まれるページも表示します。
tb2 [-i]TB2を使うと、教科書制作のGitHub作業やディレクトリいじり、テンプレの適用などが自動化されます。 以下は、ツール直打ち(対話モードではない)で、本→チャプター→ページを作る一連の例です。
tb2 book new Crypto- GitHub Projectに
Cryptoが追加されます -bで明示的にBOOKNAMEを指定してもいいけど略しても変わらん。
tb2 chapter new Crypto/RSA
#もしくは
tb2 chapter new -b Crypto -c RSAdraftブランチからchapter/RSAブランチが作成されます- "RSA"のIssueがProject(Crypto)に作成されます
tb2 page new Crypto/RSA/WhatIsRSAここで-c,-b,-pでわざわざ指定するのはめんどい。短縮形を使おう。
- Sub-Issue が作成されます
WhatIsRSA.mdが作成されます
tb2 page save Crypto/RSA/WhatIsRSA- 変更がcommit&pushされます
tb2 chapter save Crypto/RSAchapter/RSAブランチからdraftブランチにPRがつくられます。- RSA chapterのissueはDONEやclosedにはなりません
tb2 project list -page- 本 → チャプター → ページ の階層が一覧表示されます 自分が成し遂げた成果を見渡そう。
ISC License. It is almost the same as MIT License.
- Branch: Only "main"
- Commit Msg Pattern: Short English
- Code Lang: Bash
- Code style: Mustn't use external command usually.
- Dir:
- /install.sh[bash]
- /script/tb2[bash]
- /script/subcmds/subcmdname.d[dir]
- /script/subcmds/subcmdname.d/cmdname[bash]
- /script/subcmds/subcmdname.d/subcmds/subsubcmdname[bash]
- Indent: 2 spaces or tab
- You havta do
shfmt - You havta add
set -euo pipfailto head of bash file - Shebang is allowd only
#!/us/bin/env bash - tag
v*commit to Release