Pelicanでブログを始める最初の一歩 - Python
  • Date:Tuesday 13 October 2015 (AM 04:27:58)
  • Updated:Friday 16 October 2015 (AM 05:03:16)
  • Tags:Pelican Python
  • Category:Programming

PelicanはPython製の静的サイトジェネレータ。

このブログもPelicanで作られています。

Pelicanでgh-pagesにブログをデプロイする方法をまとめました。

Pelicanのインストールとセットアップ

Pythonをある程度触ったことのある人ならPelicanを使うのは簡単です。

まず、Pelicanと必要なパッケージをインストールします。

$ pip install pelican Markdown

Pelicanはquickstartコマンドが用意されているので、それを利用して環境を整えます。質問を幾つかされるので答えていく形式です。

$ pelican-quickstart

以下のようなディレクトリが作られます。

yourproject/
├── content
│   └── (pages)
├── output
├── develop_server.sh
├── fabfile.py
├── Makefile
├── pelicanconf.py       # Main settings file
└── publishconf.py       # Settings to use when ready to publish

記事を書く

記事はcontent以下に書きます。

記事にはタイトルや日付、タグなどのメタデータを書く必要があります。

reStructuredTextの場合

:title: <title>
:date: YYYY-MM-DD HH:MM
:modified: YYYY-MM-DD HH:MM
:tags: <tag>, <tag>
:category: <category>
:slug: <slug>
:authors: <author>, <author>
:summary: <summary>

Markdownの場合

Title: <title>
Date: YYYY-MM-DD HH:MM
Modified: YYYY-MM-DD HH:MM
Tags: <tag>, <tag>
Category: <category>
Slug: <slug>
Authors: <author>, <author>
Summary: <summary>

titleとdate以外は省略可能です。

Note

slugは記事のURLを指定できます。
slugを省略するとtitleのlower-caseがURLになります。

Markdownをインストールしたので*.mdという拡張子でファイルを作ればMarkdownが使えます。

ビルドは以下のコマンドで、outputに静的ページがビルドされます。

$ pelican content -s pelicanconf.py

contentのディレクトリ構成

contentにディレクトリを作成するとcategoryとして扱われます。

├── content
│   ├── category1
│   ├── category2
│   ├── category3
│   ├── no_category.md
│   └── pages

ディレクトリでカテゴリ分けをすれば、メタデータにcategoryを書く必要がない+わかりやすいので基本的にカテゴリ分けはディレクトリですれば良いと思います。

content以下のディレクトリでpagesは特殊なディレクトリ名で、メタデータ不要で書けます。基本的に、AboutやContactなどの独立したページの作成を目的としているのでそのような用途で使用します。

GFMぽく使う

PelicanでGitHub Flavored Markdown(GFM)をマジで使いたい! - Qiita

上記の記事を参考にパッケージのインストール、pelicanconf.pyの編集をします。

$ pip install mdx_del_ins

pelicanconf.pyにMD_EXTENSIONを追加して、必要な項目を書きます。

MD_EXTENSIONS = ['del_ins', 'fenced_code', 'codehilite(css_class=highlight)', 'tables']

デフォルトのExtensionは以下にまとまっています。

Extensions — Python Markdown


PythonのMarkdownを調べて、おすすめ設定を以下にまとめましたので参考までに。

PythonでMarkdownをGFM的に使う方法

gh-pagesにpushする

gh-pagesブランチを作ります。さくっと作るためにghp-importというPythonパッケージをインストールします。ghp-inmportは指定したディレクトリをgh-pagesブランチにしてくれます。

$ pip install ghp-import
$ ghp-import output

これでgh-pagesブランチが作られたのでpushします。

ユーザーページ(.github.io)の方にデプロイする場合は、ローカルのgh-pagesブランチをmasterにpushします。

$ git push origin gh-pages:master

プロジェクトのgh-pagesの場合はそのままローカルのgh-pagesブランチをpushします。

$ git push origin gh-pages

まとめ

Pythonに慣れているのであれば、reStructuredTextとMarkdown両方使えるPelicanはすごく良い気がする。

ドキュメントも英語だけど読みやすくて詳しくまとまっていて良い。

Pelican 3.6.3 — Pelican 3.6.3 documentation

Show comments

Adsense

Share

  • このエントリーをはてなブックマークに追加

About

趣味でプログラミングをしています。仕事では致し方なくC言語のようなC++を書いています。

Recently

Tags

Pages