背景
このブログは org-mode
の機能を使って生成されています。 HTML テンプレートは
esxml で書いて、 SSG としては
org-publish
を使っています。
日記の追加に伴って、
index.html
の生成をテコ入れしました。また原稿ファイルで使える便利構文を追加しました。
改造機能
diary/
ディレクトリの追加
サブディレクトリに日記ファイルを置けるようにしました:
.
├── build.el
├── out
├── src # devlog
│ └── diary # diary
└── x
index.html
は devlog
と diary
毎に
<h2>
タグで区切られるようになりました。日記では、主に ABC
(毎週開催の競技プログラミングのコンテスト) の感想を書く予定です。
#+BEGIN_DETAILS
org-mode
の文書では #+BEGIN_*
,
#+END_*
で囲ったテキストを『ブロック』とみなして変換できます。
今回 #+BEGIN_DETAILS
という special block (custom block)
を追加しました。 <details>
タグを簡単に記述できるようになりました。
#+BEGIN_DETAILS ここにタイトル
折りたたみ表示
#+END_DETAILS
<details>
<summary>ここにタイトル</summary>
折りたたみ表示
</details>
実演:
ここにタイトル
折りたたみ表示
今後追加したい block があれば、同様に対応できます。
絶対パスを使って .org
ファイルにリンクできるように
[[/index.html][トップページ]]
のようにリンクを書くと
<a href="file:///index.html">トップページ</a>
が出力される悲劇を修正しました。
その他に #+BEGIN_CENTER
の html 出力を調整するなど、ツギハギしています。
まとめ
相変わらず手のかかるブログですが、
org-publish
が異常に柔軟なおかげで何とかなっています。