|
| 1 | +# BitClust |
| 2 | + |
| 3 | +BitClust は Ruby リファレンスマニュアル(通称「るりま」)のドキュメント処理 |
| 4 | +フレームワークです。ドキュメントソース([rurema/doctree](https://github.com/rurema/doctree))を |
| 5 | +パースしてデータベース化し、HTML(静的サイト・HTTP サーバ)、CHM、EPUB などに |
| 6 | +変換します。生成されたマニュアルは https://docs.ruby-lang.org/ja/ で公開されています。 |
| 7 | + |
| 8 | +## ドキュメント |
| 9 | + |
| 10 | +- [doc/usage.md](doc/usage.md) — インストール方法と各サブコマンドの使い方 |
| 11 | +- [doctree の docs/](https://github.com/rurema/doctree/tree/master/docs) — るりまプロジェクト全体の文書 |
| 12 | + (ドキュメントの書き方・ビルド方法・チュートリアルなど) |
| 13 | + |
| 14 | +## 開発を始める |
| 15 | + |
| 16 | +```console |
| 17 | +$ git clone https://github.com/rurema/bitclust.git |
| 18 | +$ cd bitclust |
| 19 | +$ bundle install |
| 20 | +``` |
| 21 | + |
| 22 | +### テスト |
| 23 | + |
| 24 | +```console |
| 25 | +$ bundle exec rake test # 全テスト(デフォルトタスク) |
| 26 | +$ ruby test/test_rdcompiler.rb # 単一のテストファイル |
| 27 | +``` |
| 28 | + |
| 29 | +### 型定義 |
| 30 | + |
| 31 | +RBS 型定義が `sig/` にあります。 |
| 32 | + |
| 33 | +```console |
| 34 | +$ bundle exec rake sig # 型定義の再生成 |
| 35 | +$ bundle exec steep check # 型検査 |
| 36 | +``` |
| 37 | + |
| 38 | +### doctree と組み合わせて動作確認する |
| 39 | + |
| 40 | +ドキュメント本体のビルドは doctree 側の Rake タスクから行います。 |
| 41 | +doctree の `Gemfile` は環境変数 `BITCLUST_PATH` でローカルの bitclust を |
| 42 | +参照できるので、手元の変更を反映したマニュアルを生成して確認できます。 |
| 43 | + |
| 44 | +```console |
| 45 | +$ git clone https://github.com/rurema/doctree.git |
| 46 | +$ cd doctree |
| 47 | +$ bundle install # ../bitclust があればそれを使う |
| 48 | +$ bundle exec rake generate:3.4 # データベース生成 |
| 49 | +$ bundle exec rake statichtml:3.4 # 静的 HTML 生成 |
| 50 | +``` |
| 51 | + |
| 52 | +詳細は [doctree の docs/](https://github.com/rurema/doctree/tree/master/docs) を |
| 53 | +参照してください。 |
| 54 | + |
| 55 | +## 用語集 |
| 56 | + |
| 57 | +- **entry** — ドキュメント化の対象。クラス: `Entry` `LibraryEntry` `ClassEntry` `MethodEntry` `DocEntry` `FunctionEntry` |
| 58 | +- **screen** — ビュークラス。BitClust server、`statichtml`、`chm` サブコマンドなどが使う |
| 59 | +- **singleton object** — `ARGF` や `main` など |
| 60 | +- **BitClust server** — ブラウザでリファレンスを見るための HTTP サーバ(`bitclust server`) |
| 61 | +- **Refe server** — `refe --server` で起動する DRb サーバ。BitClust DB を DRuby で公開する |
| 62 | + |
| 63 | +## ライセンス |
| 64 | + |
| 65 | +Ruby License |
0 commit comments