ペリカンとの出会い

 私は、EmacsのOrg-modeを愛用している。 Org-modeユーザーのためのブログを書くツールを調査したが、 納得いくモノを見つけられなかった。

 そこで、多くの静的サイトジェネレーターが掲載されている StaticGenから使いやすそうなツールを選定を試みた。 そして、巡り巡ってPelican(以下、ペリカン)で本ブログを構築できることを発見した。

animal_pelican.png

 ペリカンとは、Python製の静的サイトジェネレーターでブログを作成するツールである。 GitHub Pagesで本ブログを公開するまで手順を記録として残しておく。

ペリカンの公式ドキュメント

 不明点に関しては、 ペリカンの公式ドキュメント を読んで解決する。

ペリカンを導入する

 はじめに、ペリカンでブログを作成&公開するために 必要なライブラリを pip を利用してインストールする。 (以下の作業は、Ubuntu 18.10で実施)

ペリカンのインストール

 以下のコマンドを利用し、 pelicanghp-import をダウンロードする。

sudo -H pip3 install pelican
sudo -H pip3 install ghp-import

インストールできていることを確認

 インストールできた pelican の情報を確認した結果を記録する。

$ pip3 show pelican
Name: pelican
Version: 4.0.1
Summary: Static site generator supporting reStructuredText and Markdown source content.
Home-page: https://getpelican.com/
Author: Alexis Metaireau
Author-email: authors@getpelican.com
License: AGPLv3
Location: /usr/local/lib/python3.6/dist-packages
Requires: pygments, six, blinker, docutils, feedgenerator, pytz, unidecode, jinja2, python-dateutil
Required-by:

ペリカンのプラグインとテーマを取得

 GitHubからペリカン用のテーマとプラグインを導入する。 /opt/pelican 以下にダウンロードするようにしている。

git clone https://github.com/getpelican/pelican-themes.git
git clone https://github.com/getpelican/pelican-plugins.git

ペリカンでブログを作成する

 ペリカンでブログを作成するために、 pelican-quickstart を実行する。

$ pelican-quickstart -h
usage: pelican-quickstart [-h] [-p PATH] [-t title] [-a author] [-l lang]

A kickstarter for Pelican

optional arguments:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  The path to generate the blog into (default: .)
  -t title, --title title
                        Set the title of the website (default: None)
  -a author, --author author
                        Set the author name of the website (default: None)
  -l lang, --lang lang  Set the default web site language (default: None)

 ヘルプコマンドで確認すると、 titleauthorlang などが設定できるので、以下のコマンドを実行する。

pelican-quickstart --path . -t "ブログ名" -a "作者名" -l "ja"

ペリカンのテーマを設定する

ペリカンのテーマを確認

 ペリカンのテーマ一覧を確認し、 pelican-bootstrap3 を利用することにした。

ブログにテーマの適用

以下のディレクトリで、以下のコマンドを実行して テーマのインストールを行う。

  • /opt/pelican/pelican-themes
sudo pelican-themes --i pelican-bootstrap3

 テーマを適用するために設定ファイル (pelicanconf.py)に以下を記載する。

THEME = 'pelican-bootstrap3'
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}

ペリカンのプラグイン設定する

Org-modeで記事を書く

 EmacsのOrg-mode記法で記事を書くために設定ファイル (pelicanconf.py)に以下を記載する。

PLUGINS += ['org_reader']
ORG_READER_EMACS_LOCATION = '/usr/bin/emacs'

GitHub Pagesでブログを公開する

 ブログをホスティングするために、 ブログ用のリポジトリを用意し GitHub Pagesで公開できるようにする。

手動で動作確認

 GitHubに公開する方法を参考に以下のコマンドを実行する。

pelican content -o output -s pelicanconf.py
ghp-import output -b gh-pages
git push origin gh-pages

 コマンドが成功すれば、以下のURLで公開が完了している。

Makefileを編集

 Github Pageに簡単に公開できるようにするために、Makefileのターゲットを追加する。

github: html
        ghp-import $(OUTPUTDIR)
        git push origin gh-pages