507 Views
April 26, 17
スライド概要
https://plonejp.connpass.com/event/51340/ の LT資料です
From: https://www.slideshare.net/laughk/pelican-world-ploneday2017tokyo
インフラエンジニア @ コネヒト (2022-08-20 現在)
Pelican の紹介 @laugh_k Pelican の紹介 / World Plone Day 2017 Tokyo / 2017-04-26 Wed
お前誰よ Kei IWASKAI Twitter @laugh_k Github @laughk PAY.JP の中の人 Python mini hack-a-thon に度々出没 個人のブログでPelicanを使ってる Pelican の紹介 / World Plone Day 2017 Tokyo / 2017-04-26 Wed
Pelican
Pelican https://blog.getpelican.com/ Python 製の Static Site Generator 静的コンテンツの生成だけ ブログに特化 docutils/jinja2 が使われている ReST, Markdown, AsciiDoc でブログが書ける
Pelican 発表時点でのバージョンは 3.7.1 Github Organization があり 開発はチームで行われている ようです https://github.com/getpelican
Pelican の特徴
Pelican の特徴 Pelican 自体はサイト全体の HTML を生成するだけ 生成方法の設定を Python で記述する Syntax highlight, DISCUS, Google Analytics, ソーシャルボタン あたりはプラグインで対応可 公式にテンプレート、プラグインを集約しているリポジトリがある
Pelican を利用する際のイメージ
Pelican を利用する際のイメージ インストール $ pip install pelican $ pip install markdown ブログを作り始める $ pelican-quickstart # markdown でブログ書きたい人用
Pelican を利用する際のイメージ なんかいろいろ聞かれます
Pelican を利用する際のイメージ こんな感じにファイルができる pelican-sample/ ├── content/ ├── develop_server.sh ├── fabfile.py ├── Makefile ├── output/ ├── pelicanconf.py └── publishconf.py # ... ReST, Markdown, AsciiDoc はここにおいてく
Pelican を利用する際のイメージ 好きな形式でブログを書く ex. content/world-plone-day2017-tokyo.rst :Title: World Plone Day 2017 Tokyo :Date: 2017-04-26 19:00 :Category: Sample World Plone Day の LT だよ!!!1
Pelican を利用する際のイメージ 書いたらビルド $ make html # Makefile がデフォルトで生成されている or $ pelican content -o output -s pelicanconf.py
Pelican を利用する際のイメージ こんな感じでできる pelican-sample/ ├── content/ ├── develop_server.sh ├── fabfile.py ├── Makefile ├── output/ ├── pelicanconf.py └── publishconf.py # ------------------------------>
Pelican を利用する際のイメージ こんな感じでできる pelican-sample/ ├── content/ ├── develop_server.sh ├── fabfile.py ├── Makefile ├── output/ ├── pelicanconf.py └── publishconf.py # <-- ここを適当な Webサーバへ持っていく
Pelican を利用する際のイメージ output 配下をホスティング
詳しくは公式ドキュメントで http://docs.getpelican.com/
気に入ってるところ
Pelican の気に入ってるところ ホスティング方法の選択肢が多い 対応しているマークアップが豊富 テーマが豊富
ホスティング方法の選択肢が多い Pelican そのものをサーバにインストールする必要がない Webアプリではないのでセキュリティ的に気にするとことは少なめ HTTP で配信さえできれば使えるので色々選べる Github pages S3 + Cloudfront VPS で Apache httpd / Nginx / H2O などと組み合わせ レンタルサーバ
対応しているマークアップが豊富 ReST, Markdown, AsciiDoc の3種類に対応しているのは珍しい (と思う) 複数形式が混ざっていても使える
テーマが豊富 Pelican themes http://www.pelicanthemes.com 公式が管理しているリポジトリに 集まったテーマのデモが見れる 2017-04-25 時点で 120 種類
ちなみに
HSS github.com/laughk/pelican-hss @laugh_k 作のテーマ 基本は自分で使うためのもの シングルレイアウト レスポンシブ はてぶボタンや Google Adsense 機能あり
公式のテーマ集にもマージされてますὢ
イマイチだなと感じること
Pelican イマイチだなと感じること 記事の編集、投稿に制約がある 下書きの管理が微妙 スマフォで編集はあきらめよう 仕組み化しなければ手動デプロイしないと更新できない プラグインの指定がややめんどう テーマごとに設定ファイルの書き方が違うことがある ※ あくまで @laugh_k が個人的に感じることです
改めて Pelican を使っている理由
Pelican を使っている理由 Vim, VS Code で書いてそのまま公開したい 記事を ReST, Markdown でバージョン管理しておきたい 人と同じ環境でブログやるのが面白くない Python 製のツールでやりたい セキュリティまわりでヒーヒーしたくない 自分でインフラ環境をガチャガチャいじれるプロダクトは持ってお きたい
おまけ
@laugh_k のブログのデプロイフロー 発表時での http://memo.laughk.org の状況