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

| インターネット

MkDocs

静的サイトジェネレーターの長所

前にサーバーを引っ越してから、CMSを静的サイトジェネレーター(SSG)に替えてれば引っ越すの簡単だったんじゃね?と思えてきた。ローカルにファイルが残るから引っ越すとなったらデプロイ先を変えるだけだし、仮にコメント機能を付けたくなったらDisqus等で遜色なくできるし。ローカルが吹っ飛んだらアウトだけど、WinSCPかLinuxのファイルマネージャーを使ってWebDAVでBoxというクラウドストレージへバックアップしておけばいいし。という長所を踏まえつつ、次のとおりSSGの要件定義から始めてみた。

海外無料サーバーで運用を開始したが、接続が遅かったり、不安定だったりすることがままあったため、国内無料サーバーに引っ越すことにした

| Nibbleblog

海外無料サーバーは重かった

海外無料サーバーで本サイトの運用を開始したが、接続が遅かったり、不安定だったりすることがままあった。そこでPHP、mod_rewrite等を提供している国内無料サーバーへ引っ越すことにした。NibbleblogはRDBMSを使用しない。だから、移転元の海外無料サーバーからFilezillaでファイル一式をFTPダウンロードし、それらを移転先の国内無料サーバーへFilezillaでFTPアップロードするだけの簡単なお仕事。

最近はセマンティック・ウェブな世の中になりつつあるらしいので、Nibbleblogの初期テーマの一つであるGoogleSimpleのスクリプトを弄ってJSON-LDを追加した

| Nibbleblog

構造化データの文法の一つ、JSON-LD

フィードやトラックバックが流行ったころも似たようなことが言われていた気がするが、最近はセマンティック・ウェブな世の中らしい。そこで、Nibbleblogの初期テーマの一つであるGoogleSimpleの以下の2つのスクリプトを次のとおり弄って、SEO的に期待されているJSON-LDを追加した。

  • /themes/google_simple/views/blog/includes/post.bit(記事一覧表示用スクリプト)
  • /themes/google_simple/views/post/includes/post.bit(個別記事表示用スクリプト)

このNibbleblogはデフォでmeta要素のviewportを生成しないので、デフォで生成するようにしてみた

| Nibbleblog

モバイルフレンドリーに必須なviewport

このNibbleblogはデフォでmeta要素のviewportを生成しない。一部の初期テーマは生成するようだが、現在利用しているGoogleSimpleという初期テーマは生成しない。しかしviewportはSEO的に重要らしい。そこでスクリプトを以下のとおり修正し、デフォで生成するようにしてみた。

このNibbleblogのOpen Graphプラグインのog:imageとTwitter Cardプラグインのtwitter:imageのURLがおかしいので修正した

| Nibbleblog

プラグインのダブルスラッシュ問題

このNibbleblogにはプラグイン機能があり、このうちFacebookOpen Graphプラグインのog:imageと、Twitter Cardプラグインのtwitter:imageのURLがhttp://www.example.com//themes/テーマ名/css/img/image.pngとダブルスラッシュ(//)が入っておかしなことになっていた。そこで、以下の2つのスクリプトを次のとおり修正した。

  • /plugins/open_graph/plugin.bit(Open Graphプラグイン)
  • /plugins/twitter_cards/plugin.bit(Twitter Cardプラグイン)

Nibbleblogの動画投稿機能を使わずとも、今回のようにTinyMCEのMediaプラグインを利用してYouTubeの動画を貼ることもできる

| Nibbleblog

普通の記事にYouTube動画を貼付

このNibbleblogは、前回利用した固有の動画投稿機能を使わずとも、今回のようにTinyMCEというJavaScript製WYSIWYGエディターのMediaプラグインを利用してYouTubeの動画(今回も前回同様、岡村靖幸『ラブメッセージ』PV)を貼ることができる。パッと見での2つの大きな違いは、文章を添えることができるかどうか。でもそれだけではない。

Nibbleblogのテーマに、記事のカテゴリー・タグ・TwitterへのTweet・Facebookシェアのリンクや要約がなかったので追加した

| Nibbleblog

普通のCMSに近づきたい

現在このNibbleblogの初期テーマの一つであるGoogleSimpleを使用しているが、記事にカテゴリー・タグ・TwitterへのTweet・Facebookシェアのリンクや要約がなかったので、以下の2つのスクリプトを次のとおり弄って追加した。

  • /themes/google_simple/views/blog/includes/post.bit(記事一覧表示用スクリプト)
  • /themes/google_simple/views/post/includes/post.bit(個別記事表示用スクリプト)

Nibbleblogの作者を中心としたチームがBluditという後継CMSをリリースしていたが、とりあえず乗り換えないことにした

| Nibbleblog

Nibbleblogの後継、Bludit

今更だけど、Flat File CMS Systemsというウェブページで、このNibbleblogの作者を中心としたチームがBluditという後継CMSをリリースしていることを知った。マジか。PHPで動作するフラットファイルCMSという点は変わらず。でも、だったら新しいほうがいいじゃねーか、とはならない。リリースしたばかりというのは不安定だったり、セキュリティ的にまだ脆弱性を抱えていたりすることもあるから。現在のバージョンはv0.6 beta2。直ぐには乗り換えず、暫し様子見しようと思う。

Nibbleblogのバックアップは簡単で、FTPクライアントで/contentディレクトリを差分ダウンロードするだけだが、XMLファイルの中身が文字化けしていた

| Nibbleblog

Nibbleblogのバックアップ方法

このNibbleblogでの設定や投稿記事・ページのバックアップは簡単で、FTPクライアントで/contentディレクトリのみサーバーからローカルへ差分ダウンロード(新しいファイルだけ上書きダウンロード)すれば良いようだ。このあたりの構造が良く考えて作られているので、Nibbleblogには感心している。しかし、文字コードの扱いに問題があることが判明した。

ここ海外無料サーバーにFTPアップロードでNibbleblogというPHPで動作するフラットファイルCMSを設置してみた

| Nibbleblog

Nibbleblogとは

ここ海外無料サーバーにFTPアップロードでNibbleblogを設置してみた。NibbleblogはPHPで動作し、管理者画面から記事を投稿するタイプのウェブログ向け簡易CMSで、オープンソース。それに、過去に利用していたWordPressNucleus CMSとは異なり、軽量なフラットファイルCMSで、つまりはデーターベース(RDBMS)が不要。加えて、過去に利用していたBlognPlusとは異なり、開発が継続中。

Home