Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
docs.ruby-lang.org/ja/ の生成方法を変えた
Search
Kazuhiro NISHIYAMA
June 13, 2024
Programming
0
33
docs.ruby-lang.org/ja/ の生成方法を変えた
[【大阪オフライン開催】RubyKaigi 2024 KaigiEffect発表会](
https://kyobashirb.connpass.com/event/320687/
) の発表資料です。
Kazuhiro NISHIYAMA
June 13, 2024
Tweet
Share
More Decks by Kazuhiro NISHIYAMA
See All by Kazuhiro NISHIYAMA
Rubyの日本語リファレンスマニュアルの現在と未来
znz
0
4
devise-two-factorを4.xから5.xに上げた話
znz
0
26
Ubuntuのriscv64版をqemuで動かした
znz
0
35
lilo.linux.or.jpをbusterからbullseyeに上げた
znz
0
43
小規模個人アプリをRails 7.xにバージョンアップした話
znz
0
28
Ruby リファレンスマニュアル改善計画 2022 進捗報告
znz
0
97
Rubyist Magazine Reboot
znz
0
110
History of Japanese Ruby reference manual, and future
znz
0
1.5k
qemuのriscv64にDebianを入れてみた
znz
0
97
Other Decks in Programming
See All in Programming
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
190
WEBアプリケーションにおけるAWS Lambdaを用いた大規模な非同期処理の実践
delhi09
PRO
7
4k
CSC509 Lecture 03
javiergs
PRO
0
140
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
1.2k
Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】
negi111111
1
890
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
250
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
110
ACES Meet におけるリリース作業改善の取り組み
fukucheee
0
130
Kotlin Multiplatform at Stable and Beyond (Kotlin Vienna, October 2024)
zsmb
2
340
フロントエンドの現在地とこれから
koba04
10
4.4k
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
250
App Router 悲喜交々
quramy
7
380
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
660
Design by the Numbers
sachag
278
19k
BBQ
matthewcrist
85
9.2k
Side Projects
sachag
452
42k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Practical Orchestrator
shlominoach
186
10k
Fireside Chat
paigeccino
32
3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
31
2.3k
Transcript
docs.ruby-lang.org/ja/ の生 成方法を変えた Kazuhiro NISHIYAMA 【大阪オフライン開催】RubyKaigi 2024 KaigiEffect発表会 2024-06-13 Powered
by Rabbit 3.0.3
self.introduction 西山 和広 Ruby のコミッター github など: @znz 株式会社Ruby開発 www.ruby-dev.jp
1/17
前の方法 docs.ruby-lang.org で生成 bc-setup-all で bitclust の db-* を生成 bc-static-all
で static html を生成 (/ja/バー ジョン/ の内容) update-rurema-index で rurema-search のイン デックスを更新 (/ja/search/ の内容) 2/17
問題発生 パターンマッチのドキュメントを ruby/ruby の rdoc を翻訳する形で追加 https:// github.com/rurema/doctree/pull/2773 のマージで問題発生 CI
はサポートバージョンでしか動いていな かった % curl -s 'https://cache.ruby-lang.org/pub/misc/ci_versions/cruby.json' | jq -c '. + []' ["3.1","3.2","3.3","head"] 3/17
docs の ruby Debian GNU/Linux 11 (bullseye) の /usr/bin/ ruby
だと ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux-gnu] https://snapcraft.io/ruby の最新安定版を使って いたこともあったが rurema-search との兼ね合いで /usr/bin/ruby に戻していた 4/17
HTML 生成の Docker 化 生成された db と html を入れても .git
は 140M ぐらい GitHub のリポジトリサイズ制限 > リポジトリは小さく保ち、理想としては 1GB 未満、および 5GB 未満にすることを強 くお勧めします。 生成したファイルもリポジトリ管理に 5/17
rurema-search の Docker 化 rurema-search のインデックス作成も Docker 化 インデックスはバイナリで git
管理には向か なさそう かつ毎回再生成すれば良さそう リポジトリ管理にはせず 6/17
古いドキュメントの保存 HTML ファイルは ja/1.8.7 から残っていた https://github.com/rurema/generated- documents に保存 db-* は
EC2 を今の docs-2020 に移行したと きに残していなかった db-2.4.0 以降のみ現存 rurema-search には db-* が必要だったが 2.3 以前はないまま https://docs.ruby-lang.org/ja/search/ は現状維 持 7/17
GitHub Actions で生成 github.com/ruby ではなく github.com/rurema に作成 権限がなくて S3 へ置けない
リポジトリに置くことにした 更新は 生成して pull request を作成して自動 マージする workflow 8/17
docs 側の更新方法変更 pull してきて反映 bc-setup-all で rurema/generated-documents をとってきて db-* の
symlink 作成 bc-static-all は static html を rsync で反映 update-rurema-index は今まで通り 9/17
今後の予定 rurema/generated-documents の生成済ファイ ルは埋め込まれているタグなどの関係で docs.ruby-lang.org 専用 → うまく分離したい docs.ruby-lang.org の環境軽量化
HTML 生成部分は完了 rurema-search は生成されるインデックスだけで 600M 越え (heroku の slug の 500M 制限超過) で静 的ファイルのホスティング + Heroku への移行は無 理そう https://github.com/ruby/docs.ruby-lang.org にある ansible の playbook も現状と合わない ので EC2 インスタンス作り直し? 10/17
残作業 bitclust への型付けをしつつコードリーディン グの続き kramdown への型付け (まだなければ) 開発環境の devcontainer 化
(bitclust 開発者向 けと doctree 執筆者向け) bitclust の markdown 対応 11/17
rurema の markdown 対応 bitclust に markdown 対応機能追加 markdown 移行前に
doctree の pull request 一 掃 doctree で markdown に一部書き換え doctree の書き換えでわかった bitclust で markdown 対応の問題点修正 rurema-search の markdown 対応 12/17
rurema の markdown 対応 doctree で全面的に markdown 対応 doctree の
RDベース記法のドキュメント削除 bitclust から RD 対応を削除 13/17
その他のやりたいこと irb でのドキュメント表示対応 ドキュメント内部での ruby.wasm での実行対 応 ドキュメント執筆補助ツール (bitclust の
tools) の再整備 14/17
docs.ruby-lang.org関連 (済) rdoc 生成のコンテナ化 脆弱性のある古い js の対処(?) (古い jquery な
どが残っているかどうかなどの確認から) (済) ja html 生成のコンテナ化 GA の削除? (共通 js ファイルにして docs.ruby-lang.org 以外だと空ファイルとかで きると良さそう?) (済) 更新しない古いバージョンをアーカイブ ファイルでも保存・配布 15/17
docs.ruby-lang.org関連 (済) 新しいバージョンも rurema-search で必 要ならアーカイブでも配布 古いバージョンの db-* の再生成 HTML
配信元を EC2 から S3 バックエンドか 何かに移行(?) (途中まで済) rurema-search のコンテナ化か サーバーレス化か何か 16/17
直近 (済) rurema-search で master が 3.4 のように バージョンで出てきてリンク切れになる問題 の対策
https://docs.ruby-lang.org/ja/ と https:// docs.ruby-lang.org/en/ のサポート終了バー ジョンの更新 17/17 Powered by Rabbit 3.0.3