この記事は、Python Advent Calendar 2022 の 16 日目の記事です。
この記事では、最近少しずつ作っている静的サイトジェネレータ mdsite をご紹介したいと思います。Python 製です。
デモ
デモを Github Pages で公開しています。こちら のリンクからご覧になれます。スクリーンショットが以下です。
ミニマルな雰囲気なのが分かるかと思います。まだぱっと見で分かるようなバグも残っていまして、完成度はご容赦ください。
なぜ静的サイトジェネレータを作るのか
モチベーションとしては、Github Pages などで公開するドキュメントをサクサク作れる簡易的な静的サイトジェネレータが欲しかったというのがあります。それと、個人的に静的サイトジェネレータを作ってみたかったというのもあります。基本的な使い方は、MarkDown でサイトの元となるドキュメントを書いた後、設定ファイル mdsite.yaml
を置いて、 mdsite
コマンドを実行するだけの簡単仕様です。CSS テーマの設定はありません。ミニマルな見た目のサイトであれば、テーマないらないかなという思いがあります。
利用しているライブラリ
Python の Advent Calendar なので Python のことも書いておくと、
- テンプレートエンジンには Jinja を利用しています
- Markdown のパースと HTML への変換には Python-Markdown を使っています。Python-Markdown は拡張が便利で、Fenced Code Blocks は今回も利用しています
- Python パッケージとして利用できるようにしてあります。PyPI にはアップロードしてありませんが、
make install
を実行すればお使いの Python 環境にmdsite
コマンドがインストールされるようになっています。詳しい使い方についてはリポジトリの README を読んでいただければと思います。
2023 年はこの静的サイトジェネレータをぼちぼち育てていく年にしたいと思っております。それではみなさん良いお年を。