1. CHiBi-CHiLO --- マイクロ・コンテンツ・システム Onboarding 文書
1.1. 本システムの目的
この文書は、本システム CHiBi-CHiLO(呼称、ちびちろ)の開発に参加するに あたって、いくつか知っておいた方が良い知識を伝達するための文書です。
ドキュメント関係
開発関係
テスト関係
既存の文書を再利用するために、あえてlinkで紹介している文書もあります。
1.2. 対象者
chibi-chilo の開発に参加したいが、様子がわからない人
chibi-chilo には、下記に挙げているような技術背景をもっており、相当な知識量が必要です。
当初は全部を知る必要はないかもしれませんが、最終的にはすべてを知ることになるでしょう。
1.3. 本ドキュメントの更新方法
npocccties/chibichilo at docs * 上記のリポジトリの docs ブランチを変更します。
git worktree を使う想定です。
1.3.1. docsブランチと、gh-pages ブランチの関係
本ブランチは、静的サイトジェネレータなどでhtmlを生成する「コンテンツのソース」を管理するブランチです。
GitHub Actions でpushされたら自動生成にしています。 see chibichilo/sphinx-build.yml at docs · npocccties/chibichilo makeで再帰的にhtmlをbuildできたらいいなと思って、設定を書います。
GitHub Action を整備して、docsブランチにpushされたら、動くようにしました。docsブランチの内容を読み取って、gh-pagesブランチ に書き込む形になります。
トップページのindex.htmlやlogo.pngもdocsブランチにある内容がdeploy されるようになっています。変更ををかけるなら docsブランチにある内容に対して変更をかけてください。
既存にあるページは消去しないようですが、2重管理にならないように、docs branch で管理するようにしてください。
docs ブランチで、RestructuredText を書いて、htmlを生成してもらい、生成した結果をコミットして、gh-pages にdeployするかたちになります。
1.3.2. 静的サイトジェネレータに関する設定情報
chibichilo/sphinx-build.yml at docs · npocccties/chibichilo * 上記をを参考にbuild環境を整えてください。
分かっている人向けの説明:「各ディレクトリの conf.py を確認すること。」
さすがにちょっとひどいので、下記に利用する関連プログラムを列挙する。
2021-03-30 時点において GitHub Actions は、Ubuntu 20.04 が最新の Linux Destribution である。 様々な作法があると思うが、Ubuntu の package をつかって必要なプログラムを揃えることにする。 足りない場合は、pip を使って補う。
python3-sphinx
python3-sphinx-rtd-theme
python3-sphinxcontrib.plantuml
上記を入れると、Read the Docs のテーマと、plantuml の記法が使えるようになる。 pdfの生成は、luaLaTeX などを設定する必要があるため、pdfの生成は当分手動でいいと思います
1.4. 開発に参加する
CHiBi-CHiLO Document 再帰的で申し訳ないが、先にココにあるドキュメントは先に読んでおいてほしい。
1.5. ドキュメント関係
1.6. 開発関係
1.6.1. 言語
TypeScript を使っています。もし、あなたが TypeScript に慣れていないなら、
などを参考にすると良いかも知れません。
TypeScript は、JavaScript に派生したプログラム言語なので、JavaScript の知識も必要です。もし知識が足りない場合は、下記のようなドキュメントを参照するのが良いでしょう。
1.6.2. フレームワークなどの使っている技術
1.6.3. Database
1.7. 開発環境
こだわりがないなら、 TypeScript Programming with Visual Studio Code で良いとおもいます。
開発時には、docker を使ってデータベースを利用しています。
1.7.1. Deploy
主に、Vercel を使っていますが、差異を吸収できるなら、netlify などの別のサービスでも構わないでしょう。
Develop. Preview. Ship. For the best frontend teams – Vercel
Netlify: Develop & deploy the best web experiences in record time
テスト関係
テストサーバリスト、および、テスト用ID一覧は、wiki にまとまっているが、外部には公開していない。アクセスしたければ要申請です。