node.js ベースで作られたブログプラットフォーム『Ghost』を使ってみた

phi phi on ghost

こんにちは, @phi_jp です.

Node.js Advent Calendar - 2014 にふさわしいかどうかは置いといて(そこ一番重要!!?),
自分のブログに Ghost というブログプラットフォームを導入してみたのでそのご紹介です.

ちなみに以前は, 『TM Life』って ブログやってました♪
もう WordPress 触る気起きなくなっちゃったけどブログは再開したくて, どうせならってことで node.js 使ってる Ghost にしたって感じです!

(会長!! 遅れてしまい, かつ node.js とあまり関係のないの書いてすみませんmm)

ghost

Ghost って?

Just a blogging platform

Ghost is a simple, powerful publishing platform that allows you to share your stories with the world.

オフィシャルより引用したものです. なんかカッコイイですね.

ざっくり訳すと, Ghost は,

あなたの物語を共有できるシンプルかつパワフルなプラットフォームです.

的なことが書いてあります. ようは超シンプルな CMS ですね.

Ghost の特徴って?

採用しているアーキテクチャがイケてる!?

そもそも, なぜ Ghost を採用したかっていう話にもなるんですが,
Ghost は node.js で動いています!

また, エントリーは wysiwyg や html ではなく Markdown で書くことができます!
技術者にとっては嬉しいですね♪

また, 発展途上ということもあり, 機能が少ないです.
ただ, これはある意味シンプルで使いやすいとも言えます.

ざっくりまとめると

  • node.js で動いている
  • markdown でエントリー書ける
  • 機能, UI がシンプルで使いやすい

Ghost ってどんな画面なの?

とにかくシンプル!!

管理画面

content

ブログを書く, そして公開することだけに特化しています. ボタンの数も最小限に抑えてあって style もシンプルですね.

編集画面

new post

こちらもシンプルですね. 左側に markdown 形式で内容を書くとリアルタイムで右側に反映されます. フッター部分でタグを設定することもできます.

最後に publish ボタンを押せば公開できます! 簡単ですね♪

設定画面

setting

設定画面なのに4項目しかありません. Word◯ress とは大違いですね.

それぞれ

  • General ... ブログに関する設定. タイトルとかロゴとか
  • Users ... ユーザーの情報を設定. メアドとかパスワードとか
  • Labs ... 汎用機能をまとめたページって感じですね. エクスポート, インポートとかもここでやれます!
  • About ... ghost についてのページです

ってな感じになっています.

コンテンツ

コンテンツは今あなたが見ているページそのものです.
コードがハイライトされるようにしたり css 微調整したりってことは しましたが基本デフォルトのテーマを使っています.

無駄を省いて内容のみに集中できるデザインになっています.

Ghost 導入方法って?

ざっくりととですが紹介します.

  1. Ghost 最新版をサーバーにダウンロード
  2. $npm install
  3. config.json をイジイジ
    • host をサーバーのやつに変更
    • username, password を設定
  4. nginx の設定ファイルをイジって独自ドメイン割当
  5. forever 経由で Ghost を起動( $forever start index.js )
  6. Hello, world!

ってな感じです.

日本語のドキュメントも充実しているので ぜひこちらを参考に導入してみてください.

今Ghostにない機能, 今後欲しい機能

Ghost はまだまだバリバリ開発中なのでこれから
どんどん機能が増えていくと思います.

それないの?作る予定は?? ってのがわりと頻繁にあるのでメモがてらここに書いておきます.

  • テーマに使われている handlebars での文字列比較
  • handlebars の展開変数に pacakge.json の値を追加
  • プラグイン機能
  • ユーザー定義のデータを設定する機能
  • そのデータをテーマorプラグインで展開する機能

詳しい導入方法や, つまづくポイント, 自作テーマの作り方なども 近々公開できたらなと思います.

でわでわ.