静的サイト作成ツール Nikola で作るブログ

このブログは静的サイト作成ツール Nikola で作成しています。
大好きな Python 製で、Emacs の org-mode からもスムーズに記事が書けるものを探した結果、Nikola がいい感じだったので採用しました。

静的サイト作成ツール Nikola

簡単に Nikola のインストールとデモについて紹介します。
詳しくは ドキュメント を参照ください。

Nikola のインストール

pip でインストールできます。Python のバージョンは 2.7 以上か 3.3 以上が必要です。

pip install nikola

Nikola を使ってみる

いくつかデモが収録されているので、まずは試してみましょう。

nikola init --demo example

サイトの設定について質問が出てきますが、Enter 連打でいいので適当に答えてください。
ここでの回答は後で変更できます。

入力が終わると /example が作成されます。/example に移動し、下記のコマンドでビルドします。

nikola build

html ファイルを含んだ /outputs ディレクトリが生成されます。
ローカルサーバを立ち上げ、

nikola serve

http://127.0.0.1:8000/ を開いてみるとデモのページが表示されます。
基本的にサイト生成についてはこれだけなので簡単です。

サイト生成の設定は conf.py を編集して変更します。
いろいろオプションが書かれているので、一通り目を通してみるといいと思います。

記事はデフォルトで Markdown か reStructuredText 形式で書けます。
/posts がブログを編集する作業ディレクトリで、ここに入っている .md、 .rst ファイルを元に投稿ページが生成されます。
上記のデモにはディレクトリにサンプルとして 1.rst が入っています。

なお、作成中の記事を確認したいときに、毎回ビルドしてサーバを立ち上げるのは面倒です。
自動的にサイトの変更を検出し、ビルド、ブラウザの更新をしてくれるコマンドが用意されているので、普段は下記のコマンドを実行しましょう。

nikola auto

org-mode 用の plugin のインストール

Nikola は デフォルトで .md .rst から記事が書けますが、プラグイン をインストールすれば、Emacs の .org 形式でも記事が書けます。
デモで作った /example に入り、プラグインをインストールします。

nikola plugin -i orgmode

/plugins/orgmode が作られていれば ok です。

さらに conf.py を開き、下記のコードを追加します。

# COMPILERS の項目に追加.
COMPILERS["orgmode"] = ('.org',)

# POSTS, PAGES の項目に追加
POSTS = POSTS + (("posts/*.org", "posts", "post.tmpl"),)
PAGES = PAGES + (("stories/*.org", "posts", "post.tmpl"),)

これで /posts にある .org 形式から投稿ページが作られるようになります。

ページの設定は.org ファイルの先頭に以下のように書きます。

#+BEGIN_COMMENT
.. title: 静的サイト作成ツール Nikola で作るブログ
.. slug: introduction-of-Nikola
.. author: かくあき
.. date: 2015-05-19 07:30:18
.. category: Nikola
.. tags: Nikola, Python, Emacs, org-mode, Static Site Generator
.. description: 静的サイト作成ツール Nikola で作るブログ
.. type: text
#+END_COMMENT

.org -> .html の変換の挙動をいじる時は /plugins/orgmode/init.el を編集します。


簡単にですが Nikola の導入を説明しました。今後も備忘録をかねて Nikola の説明していくつもりです。
日本語の情報が少ないので、ドキュメントを見ながらやるしかないですが、
勉強しつつブログも改良していきたいと思います。

コメント

Comments powered by Disqus
書籍更新情報
2017-01-16
Pythonによる科学技術計算 基礎編
1.3版への更新が可能になりました。
サポートページはこちら
電子書籍
Pythonによる科学技術計算 基礎編
Kindle ストアで販売中です
Pythonによる科学技術計算 基礎編
同人誌
技術書典(2016/6/25)
Emacs/org-modeのPDF作成術
電子版をBOOTHで販売中です
Emacs/org-modeのPDF作成術
Share