Help us understand the problem. What is going on with this article?

Pythonの静的サイトジェネレータ"Pelican"でお手軽にブログをはじめる手順

More than 3 years have passed since last update.

はじめに

いままではてなブログを利用していたけれど、日常のくだらない話と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など書き換えてみてもいいかも。(自己責任で)

おすすめテーマ

blueidea

blue-penguin

pelican-clean-blog

Flex

medius

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

ブログジェネレータをTinkererからPelicanに移行した - 続・ラフなラボ

Pelicanでブログ作成 on Windows

Pelicanにテーマを導入してみる - Qiita

ogrew
メインをはてブに変えました。
http://taiga.hatenadiary.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした