[アイデア]いま改めて静的なブログシステムを採用してはどうか
新しいblog環境案について考える。
ふりかえり
いまのblog環境の不満点。
- 重い
- SinatraをCGIで動かしているから
- システムを全然メンテできてない
- 大量の写真を気軽に扱いたい
いいところとしては、
- 記事の投稿が楽。
- ローカルのdraft.txtに記事を書いて(複数エントリも書ける)、make updateするだけ
かな。いいところは他にもあるんだろうけど特には思い浮かばない。
静的か動的か
さて。
まず最大の不満点は重いことなのだけど、これはCGIで無理やり動かすから遅いわけで、ふつうにサーバー起動させれば負荷はほぼゼロにできる。しかし、今使っているさくらのプランではサーバー起動が禁止されているし、ブログのために新たなサーバー環境を用意するのもどうかなと思っている。
そもそもなんでblogを動的なシステムにしてるんだろうか。静的なシステムじゃだめだろうか。
静的なシステムでも、新しい記事をアップするたびに毎回ブログ全体を構築し直せば、今と同じUIを実現できるはず。動的でなければ成り立たない仕組みは今は使ってない。全体を再構築しなければならない理由は、「前の5件」で順々にページをめくる機能があるからだ。これはカテゴリ表示のときも同じ。
いっそのこと記事単体のhtmlとそのファイル名のリストをサーバー側に置いて、あとはブラウザ側のJavaScriptでUIを構築すればいいじゃんって考えたんだけど、そうするとJavaScriptが不十分な環境だと記事がひとつも読めなかったり、SEO的に問題がでそう…。
もろもろ含めて見えてくるのは、基本静的で一部JavaScriptを使って動的に見せるというラインかな。JavaScriptが動作しない環境では人間にとって便利な一部のUIがなくなる感じ。この場合CGIや動的な仕組みは一切なし。ただしrssの生成等にcronを使う。
静的なhtmlベースでの運用は、なんといっても安心感がある。運用コストも低い。
システムのメンテを楽にしたい
Sinatraにしてもそれなりに進化の速度が早いので、便利な半面、最新版追従の作業がしばしば発生する。
これも静的にしたい理由のひとつで、静的なhtmlの生成の方がシンプルで外部ライブラリへの依存度も減る。動的にhtmlを生成しないのであれば、haml等のテンプレートエンジンだけあればいい。
tumblrとか使ってみたら?
外部のblogサービスを使う手についても考えるんだけど、なかなか踏み切れない。
さがしあたってのネックは写真。新しいシステムでは、たくさんの写真を手軽に扱いたいのだけど、既存サービスの上に乗せようとすると容量その他で制約がでてきそう。
トラックバックやコメント機能
今のシステムでは最初からトラックバックを捨てている。今後もいらない。
コメント機能がほしいかは微妙なんだけど、メンテが面倒なのでない方がいいかな。返事を書くの苦手だし。 関連ツイートとかブックマークコメントを表示するブラウザ動作の機能ならあってもいいかもしれない。