1. CHiBi-CHiLO --- マイクロ・コンテンツ・システム Onboarding 文書

1.1. 本システムの目的

この文書は、本システム CHiBi-CHiLO(呼称、ちびちろ)の開発に参加するに あたって、いくつか知っておいた方が良い知識を伝達するための文書です。

  • ドキュメント関係

  • 開発関係

  • テスト関係

既存の文書を再利用するために、あえてlinkで紹介している文書もあります。

1.2. 対象者

chibi-chilo の開発に参加したいが、様子がわからない人

chibi-chilo には、下記に挙げているような技術背景をもっており、相当な知識量が必要です。

当初は全部を知る必要はないかもしれませんが、最終的にはすべてを知ることになるでしょう。

1.3. 本ドキュメントの更新方法

/(repository top)
+V2.1 (2021-04)時点でのリリース予定版のドキュメント
+ UserManual (ユーザマニュアル)
+ Design (設計思想を書いたもの)
+ OnBoarding(この文書)
+ APIs(予定)
+ その他追加すべきドキュメント
+V3.0 次のリリース予定版のドキュメント(まだない)
+ UserManual (ユーザマニュアル)
+ Design (設計思想を書いたもの)
+ OnBoarding(この文書)
+ APIs(予定)
+ その他追加すべきドキュメント

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. 静的サイトジェネレータに関する設定情報

分かっている人向けの説明:「各ディレクトリの 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. 開発に参加する

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 などの別のサービスでも構わないでしょう。

テスト関係


テストサーバリスト、および、テスト用ID一覧は、wiki にまとまっているが、外部には公開していない。アクセスしたければ要申請です。