はじめに
いままではてなブログを利用していたけれど、日常のくだらない話とTECH系の話題が混合しており、見づらい&書きづらい状態なのでこれらを分離しようと思ったことが動機。
別に、TECH系のブログもはてブやWordPressでよかったんだけど、せっかくならちょっと変わったやり方で書きたいなと思い、ググったら出てきたのが**「Pelican + Markdown + GitHub Pages」**で書く方法だった。
ググってみた感じそんなに難しそうでもなかったし配布されてるテーマも多かったのでこの方法に決めた。
環境
Windows 10
Python 3.5.2
pip
pelican 3.7.1
GitHub Pages用のレポジトリをつくる
自分のGitHubページから新しくレポジトリを作成。
Github PagesにはUser PagesとProject Pagesの2種類あるが、個人ブログだったらUser Pagesでいいかと。[username.github.io]という名前でレポジトリを作成。
それがすんだらローカルにそのレポジトリをクローン。
$ git clone https://github.com/username/username.github.io
インストールとセットアップ
次はローカルに必要なものをインストール。
$ pip install pelican Markdown
便利なpelican quick-start
Pelican には $ pelican-quickstart
という便利なコマンドがあり、これを実行すれば対話形式でブログタイトルやタイムゾーンの設定などを聞かれ、ブログのひな形が簡単にできあがる。
たぶん最終的にディレクトリ内はこんな感じになるかと。
username.github.io/
├── content
├── output
├── develop_server.sh
├── fabfile.py
├── Makefile
├── pelicanconf.py
└── publishconf.py
ブログを書く
ここまで来てしまったらほとんど終わり。あとはMarkdown形式でもreStructuredText形式でもお好きなかたちで記事を書いて、/content内に保存すればオーケー。ちなみに/content/category/***.mdみたいにすれば自動でカテゴリー分けされる(っぽい)。
ローカルで確認
Windowsではmakeコマンドを使って簡単にビルドできないのでコチラをダウンロードして一部書き換えることで代替。
具体的にはpmake.cmdの
set _PELICAN=$pelican
set _PELICANOPTS=$pelicanopts
の部分を
set _PELICAN=pelican
set _PELICANOPTS=
に書き換えればオーケー。
$ pmake html
これでエラーが出てこなければ無事htmlファイルが生成されたということ。
デフォルトで/output以下に作られる。
$ pmake serve
無事起動したらhttp://localhost:8000/
で確認。
テーマを変更する
これは人によりますが、デフォルトのテーマを変更したい場合があるでしょう。
自分で一から作っても問題なし。もう少し手軽にテーマを変更したい場合は、Pelican Themesからお気に入りのものを引っ張ればオーケー。
①好きなテーマの公開リポジトリからローカルのお好きなディレクトリにクローンしたのち、
pelican-themes - i [クローンしたディレクトリ]/simple-blog-theme
みたいな感じでテーマをインストール。
それがすんだら、
pelicanconf.py
を開いて
THEME = 'simple-blog-theme'
と書き加えてください。
うまくいかない場合はテーマがインストールされているか確認。
pelican-themes -l
でインストールされているテーマの一覧が出るはず。
②pelicanconf.py
と同じディレクトリ上にthemesみたいなディレクトリを新規作成。ここに公開されている全部のテーマを置いておく方法もある。(ぼくはこっち)
具体的には
git clone --recursive https://github.com/getpelican/pelican-themes themes/pelican-themes
おそらくだいぶ時間がかかるが、これをやっておけば後々のテーマ変更も楽。
終了後はpelicanconf.py
を開いて
THEME = './themes/pelican-themes/simple-blog-theme'
のように書き足せばオーケー。
実際にテーマを変更してみるとわかるが、どれも個々に仕様が異なりカスタマイズが自由。公式サイトなどがあればそれらを参考にcssなど書き換えてみてもいいかも。(自己責任で)
おすすめテーマ
GitHub Pagesにアップロード
いよいよ最後。GitHub Pagesにブログを公開するにはPythonのghp-inmportというモジュールがあるとブランチを別で作れてhtml,cssだけ公開できて便利です。
$ pip install ghp-import
$ ghp-import output
$ git commit -m "first post"
$ git push -f origin gh-pages:master
これで終了。ブラウザを開いてhttp://username.github.io
を開いてみましょう。
(反映されるまでに10分程度かかる場合もあるらしいので注意)
参考文献
Pelicanでブログを始める最初の一歩 - もくもくブログ
Pelican + Markdown + GitHub Pagesで管理するブログの作り方 - Human as a Serviceな日々
PELICAN + GITHUB PAGES でブログを作った話 - FUTON NOTE