GitHub のリポジトリに .org という拡張子のファイルを push すると org-mode のマークアップを解釈した上でいい感じに表示してくれる。
- 文章ドキュメントの差分をレンダリングする 差分って書いてあるけど差分以外も OK
- https://github.com/github/markup が内部的に https://github.com/wallyqs/org-ruby を使ってる模様
しかし、8,485 行の org ファイルを push したところ org-mode のマークアップを適切に解釈せず、単なるテキストファイルとして表示された。
2,189 行の org ファイルだとマークアップが適切に解釈して表示された。
❯ wc *.org 2819 12218 160420 foo.org 8485 35897 492791 journal.org 11304 48115 653211 total ❯ time org-ruby journal.org >/dev/null org-ruby journal.org > /dev/null 3.59s user 0.15s system 96% cpu 3.877 total ❯ time org-ruby foo.org >/dev/null org-ruby foo.org > /dev/null 0.80s user 0.11s system 97% cpu 0.928 total
なんとなく org-ruby によるレンダリング処理の所要時間 1, 2, 3 sec あたりで内部的な足切りをしていそうな気がする。一定時間以上かかったらレンダリング処理の完了を待たずに打ち切り、テキストファイルとしての表示にフォールバックする、という感じだろうか。
作業日誌の org ファイルを細かく分けるのも面倒なので Doom Emacs で元々設定済みの org-capture の template "j" (journal) で日々追記し続けていたのだけど、ファイルサイズ大きすぎて save-buffer できない疑惑(濡れ衣)以外の理由でもやはりファイル分割をしないといけないかもしれない。
まあ、作業場としてひたすら書き殴ってるだけのテキストファイルが HTML としてちょっと見栄えが良くなったからといって、果たしてブラウザで見たりなんかするのか?というと、みないかもなあ、という気もする。検索したいときは Emacs 内でやるか grep するだろうし。リンクも Emacs 内から開けばいいし。ただブラウザで見てみたかっただけでは、という話ではある。バックアップという意味ではレンダリングなんてどうでもいいのだ。