よしたく blog

ITエンジニアとして自分が知らなかったことをまとめています

Python製の静的サイトジェネレーター Pelican を導入してみた

Pelicanとは?

PelicanはPython製の静的サイトジェネレーターです。他の言語では、GoのHugoやReact.jsのGatsby.jsが有名です。自分自身は、Vue.js製のGridsomeを使う記事を書きました。

yoshitaku-jp.hatenablog.com

yoshitaku-jp.hatenablog.com

自己学習として様々なものに触れてきました。最近は仕事でPythonで作業することが増えてきており、プライベートでも触れるPythonに関するもの探しているところでPelicanを教えてもらいました。Python製の静的サイトジェネレーターでは2019/11/10現在一番GitHubスターが多いです。静的サイトジェネレーターの比較ページはこちら。

www.staticgen.com

Pelican関連のページ

ブログ

https://blog.getpelican.com

GitHub

https://github.com/getpelican/pelican

ドキュメント

https://docs.getpelican.com/en/stable/

インストール方法

Pythonの仮想環境を作ってから実行します。Markdownで作成するので、pelicanをインストールする際に最初からmarkdownを使うように指示をしておきます。

python -m venv pelican
cd pelican
source bin/activate
pip install pelican [Markdown]

記事を書く

ブログの記事を書くときはcontentフォルダの配下にMarkdownファイルを保存します。 ひとまず記事が見れる状態になればいいのでファイルの中身は次のようにしましょう。

Title: タイトル
Date: 2019-11-10 00:00

テストページです。

Markdown内のメタデータに関しては、ここを見ると色々載っています。

docs.getpelican.com

記事を生成し、ブラウザで確認する

前章で記事をcontentフォルダに書きました。 書いた記事をサイトに公開する形に生成しなければなりません。 pelicanコマンドをcontentフォルダに対して実行します。

pelican content/

pelicalコマンドを実行するとoutputフォルダに記事が生成されます。

次にブラウザで生成した記事を見てみます。 pelicanコマンドをオプションを付けて実行します。

pelican --listen

実行直後のターミナルでは、特に表示されませんが大丈夫です。

ブラウザでhttp://localhost:8000を叩いてみましょう。次の画面が出れば完成です。

f:id:yoshitaku_jp:20191110194923p:plain