LoginSignup
5
1

More than 1 year has passed since last update.

org-mode でブログ生成

Last updated at Posted at 2022-10-09

成果物

System Crafters の投稿 ソースコード を元に、 org-mode でブログ生成してみました:

org-mode-blog.png

該当のブログ記事はこちらです 。デザインは Simple.css です。

org-mode へのモチベーション

元々 org-mode へのモチベーションはありませんでした。むしろ AsciiDoc にこだわっており、 専用の SSG を作ったりしました 。ただデザインが良くなかったので、一時的に org-mode に移行してみました。

org-mode で記事を書いてみると、エディタの見た目が良くて嬉しくなりました:

org-mode-inline-display.png

WYSIWYG ではないですが inline style? って良いですね。細かなエディタサポートも豊富です。 レスポンスが良いのが嬉しい というのが org-mode を使うモチベーションになると思います。この辺は 実際に使ってみないと分かりませんでした

org-publish を SSG として使う

System Crafters の投稿 に沿うと、 ビルドスクリプトは ELisp で書きます。ビルドスクリプトの内容は、 org-publish の設定・呼び出しや backend (後述) の設定です。

org-publish には以下のような内容が可能です:

  • パタンマッチしたファイルをビルドして出力フォルダに写します
  • sitemap (記事一覧の index.org) を生成します
  • 記事パーツの HTML 変換 ("フィルタ") をオーバーライドします
    • たとえば org-mode のコードブロックを Prism.js 対応の HTML に変換します

テンプレートやフィルタの集まりを backend と呼びます (たぶん) 。バックエンドを差し替えられるようにすることで、 org-publish は高い拡張性を確保しているようです。 HTML 出力を調整したり、 HTML 以外の形式 (PDF など) で出力することもできます。

org-publish の HTML 初期出力が合わなかったので、 esxml (S 式で書く XHTML) でテンプレートを作ることになりました。意外と盛り沢山の試行錯誤を経験できました。

まとめ

Emacs を使っていると楽しいことが色々ありますね。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1