SlideShare a Scribd company logo
1 of 31
Download to read offline
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 # markdown でブログ書きたい人用
ブログを作り始める
$ pelican-quickstart
Pelican を利用する際のイメージ
なんかいろいろ聞かれます
Pelican を利用する際のイメージ
こんな感じにファイルができる
pelican-sample/
├── content/ # ... ReST, Markdown, AsciiDoc はここにおいてく
├── develop_server.sh
├── fabfile.py
├── Makefile
├── output/
├── pelicanconf.py
└── publishconf.py
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/ # <-- ここを適当な Webサーバへ持っていく
├── pelicanconf.py
└── publishconf.py
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 の状況

More Related Content

What's hot

Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティAtsuo Ishimoto
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎真哉 杉野
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来Atsushi Odagiri
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方Yosuke Furukawa
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12Takanori Suzuki
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Hitoshi Kurokawa
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Takuya Ueda
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオンAyaka Ueda
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015SaitoTsutomu
 
Python twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめPython twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめYukitaka Uchikoshi
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
実践Go ツールの作成から配布まで
実践Go ツールの作成から配布まで実践Go ツールの作成から配布まで
実践Go ツールの作成から配布までYusuke Miyake
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 

What's hot (20)

Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオン
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
 
Python twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめPython twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめ
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
Git 入門
Git 入門Git 入門
Git 入門
 
実践Go ツールの作成から配布まで
実践Go ツールの作成から配布まで実践Go ツールの作成から配布まで
実践Go ツールの作成から配布まで
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 

More from Kei IWASAKI

コロナ渦とキャリアの話 / my carrier and covid-19
コロナ渦とキャリアの話 / my carrier and covid-19コロナ渦とキャリアの話 / my carrier and covid-19
コロナ渦とキャリアの話 / my carrier and covid-19Kei IWASAKI
 
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24Kei IWASAKI
 
Elasticbeanstalk で Ansible を使っている話
Elasticbeanstalk で Ansible を使っている話Elasticbeanstalk で Ansible を使っている話
Elasticbeanstalk で Ansible を使っている話Kei IWASAKI
 
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programingKei IWASAKI
 
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016Kei IWASAKI
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術Kei IWASAKI
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Kei IWASAKI
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようKei IWASAKI
 
障害発生時に抑えておきたい基礎知識
障害発生時に抑えておきたい基礎知識障害発生時に抑えておきたい基礎知識
障害発生時に抑えておきたい基礎知識Kei IWASAKI
 
監視のススメ
監視のススメ監視のススメ
監視のススメKei IWASAKI
 

More from Kei IWASAKI (10)

コロナ渦とキャリアの話 / my carrier and covid-19
コロナ渦とキャリアの話 / my carrier and covid-19コロナ渦とキャリアの話 / my carrier and covid-19
コロナ渦とキャリアの話 / my carrier and covid-19
 
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
 
Elasticbeanstalk で Ansible を使っている話
Elasticbeanstalk で Ansible を使っている話Elasticbeanstalk で Ansible を使っている話
Elasticbeanstalk で Ansible を使っている話
 
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
 
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみよう
 
障害発生時に抑えておきたい基礎知識
障害発生時に抑えておきたい基礎知識障害発生時に抑えておきたい基礎知識
障害発生時に抑えておきたい基礎知識
 
監視のススメ
監視のススメ監視のススメ
監視のススメ
 

Pelican の紹介 / World Plone Day 2017 Tokyo