org-mode で本ブログを生成しました (リポジトリ) 。簡単に紹介します。

本当はミラーボールを回したかったですが、力不足だったようです。

org-publish ベースの SSG

背景

Org はマークアップ言語です。主に Emacs ユーザに利用されています。

Emacs のエディタ拡張 org-mode には、 .org ファイルを任意のフォーマットに変換するコマンド (org-publish) が付属します。これを SSG として利用すると、フラットなサイトを簡単に生成できます。

ファイル構成

本ブログのファイル構成は以下です:

.
├── build.el   # ビルドスクリプト + ビルド設定 (ELisp)
├── out        # サイト
├── src        # サイトの全ソースファイル
└── x          # ビルドスクリプトを起動するシェルスクリプト

src/ ディレクトリの内容は以下になります。下書きファイルを *.draft.org とし、 release ビルド時は無視します:

src/
├── img           # 画像ファイル
├── index.org     # 索引 ("sitemap". `org-publish` が自動生成する)
├── *.org         # 投稿記事
├── *.draft.org   # 下書き (`--release` ビルドの際は無視される)
└── style         # CSS, JS

CLI

x のサブコマンドを紹介します:

主なリソース

org-mode でブログ生成したいという人がいたら、以下のリンクが役に立つかもしれません。

参考記事

org-publish の公式マニュアルが説明不足なので、チュートリアルが重宝します:

The Org Manual

公式マニュアル です。意外に短くて説明不足の感はあります:

HTML 生成の改良

HTML 生成をハイジャックして完成です:

その他

Org 製のブログ

見かけるたびに追記します。