静的サイトジェネレーターを試してみた
前にサーバーを引っ越してから、CMSより静的サイトジェネレーター(SSG)のほうが良いように思えてきたので、8種類のSSGを試してみた
2016-05-08 | インターネット

静的サイトジェネレーターの長所
前にサーバーを引っ越してから、CMSを静的サイトジェネレーター(SSG)に替えてれば引っ越すの簡単だったんじゃね?と思えてきた。ローカルにファイルが残るから引っ越すとなったらデプロイ先を変えるだけだし、仮にコメント機能を付けたくなったらDisqus等で遜色なくできるし。ローカルが吹っ飛んだらアウトだけど、WinSCPかLinuxのファイルマネージャーを使ってWebDAVでBoxというクラウドストレージへバックアップしておけばいいし。という長所を踏まえつつ、次のとおりSSGの要件定義から始めてみた。
SSGの要件を定義してみた
要件をいろいろ考えた結果、シンプルで簡単そうなSSGが合ってると思った。なお「シンプルで簡単」とは具体的には以下のイメージ。
- Linux若しくはWindows上のMSYS2又はMinGW(とGit for Windows)でサクッとインストールできる。
- クロスプラットフォームで、運用するPCなど環境をコロコロ変えても持続可能である。例えばPerl、PHP、Python、Ruby、Lua、Bashあたりに依存するアプリとか。
- ミニマムなこと。パワフルな機能、豊富なプラグイン、行き届いた管理画面などは要らない。
- スクリプトに手を加えたり、新たなスクリプトを書くことが前提でない。
- フラットファイルからHTMLを生成し、そのファイルもマークダウンなどわかりやすい記法で書ける。
- デフォルトのテンプレートがそこそこ整っている。一からテンプレートを書く気はない。かと言って重たいテンプレートは嫌だ。
- ウェブページ間のリンクを自動生成してくれる。
- フィードかサイトマップファイルを自動生成してくれる。
mysite.pyが凄くイイと思う
そうして、以下の順番で8種類のSSGをサクッと試してみた。時間が惜しかったので、しっかり確認しておらず、また、PerlやRubyまで至らなかった。
- zodiac
- AWK製で、
git cloneからインストール。デフォルトのテンプレートがショボく、それをカスタマイズするのが楽じゃなさそうだから候補外。 - Jenny
- Bash(一部AWK)製で、
git cloneからインストール。フィードかサイトマップを自動生成してくれなさそうだったから候補外。そのためのスクリプトくらい自分で書けってことなんだろうな。 - Luapress
- Lua製。MSYS2上でLuaRocksからインストールしようとしたところ、Discount(マークダウンのライブラリー)のdevelファイルを用意しなければならず、サクッとしてないから候補外。
- Carew
- PHP製で、Composerからインストール。デフォルトのテンプレートが一部粗雑で、それに手を加えるのが楽じゃなさそうだから候補外。
- Sculpin
- PHP製で、Composerからインストール。凄くイイ。でもPHPってバージョンアップで動かなくなったりすることがあるっぽいから、Python製でも試しとくか。
- MkDocs
- 冒頭の画像。Python製で、pipからインストール。ミニマムでなく本格的過ぎるので候補外。
- PyBlosxom
- Python製で、pipからインストール。元ファイルの更新日からウェブページの更新日を取得するので、誤字脱字を修正するたびに
touchコマンドで更新日を直さなければならないのが面倒そうなので候補外。 - makesite.py
- Python製で、
git cloneからインストール。なんだこれじゃん!
クラウドストレージの弱点
あとはBoxにバックアップする環境を整えればOK。しかし過去、WebDAVで4sharedにいろんなファイルを放り込んでいてトラブル発生。ちょこっとログインしなかったらだと思うが、アカウントが消され、ファイルも消された。ローカル側で削除してしまって4sharedにしかなかった重要なファイルがあったことに後で気付き、呆然とした。クラウドストレージの選定は慎重に。

コメントはありません
コメント