static site generatorとは?
えーと、、、うん。静的な言語みたいにコンパイルしたHTMLとCSSを上げるやつ。でいいかな。(違うような気がしてきた)
んで、これが必要になったので、ちょっと試してみました。
install
pip
で入りました。
$ pip install Pelican Markdown
markdownで記事を書きたい人はMarkdown
も入れてあげてください。
とりあえずこれでおk
記事を書く
~/content
ってディレクトリの中にmdを追加してください。
$ cat content/keyboard-review.md Title: My First Review Date: 2010-12-03 10:20 Category: Review Following is a review of my favorite mechanical keyboard.
これが記事になるっぽいです。
ビルド
$ pelican content
すると~/output/
の中にソースが吐き出されます。そこをブラウザとかでみてみてください。
サイトが出来上がっているはず。
themeを自分で用意する
で、目的はブログ書くことじゃなくて、ブログサイトをとあるテーマに変更すること。なので、themeを自分で用意する。
ちなみに、テンプレートテーマがいくつかあるらしい。今回は使わない。
テーマのディレクトリを用意します。
Creating themes — Pelican 3.6.3 documentation
mkdir -p themes/custom-theme
んで、次は~/pelicanconf.py
に設定する。
$ vim ~/pelicanconf.py
# Specify name of a built-in theme THEME = "/Users/user/project/pelican-sandbox/themes/custom-theme"
これでおk。再ビルドしたら、うまくいくと思います。
scssを使うためプラグインをロードする
scssを使いたいと思った人。プラグインがあります。
プロジェクトディレクトリにgit clone
でpluginリポジトリを落とします。
$ git clone https://github.com/getpelican/pelican-plugins.git
Pythonに必要なモジュールもインストール
$ pip install webassets cssmin
んで、設定ファイル~/pelicanconf.py
に追記
PLUGIN_PATHS = ['pelican-plugins'] PLUGINS = ['assets']
これでよし
また、使い方はテンプレートにこう書けばよい
{% assets filters="cssmin", output="css/style.min.css", "scss/reset.scss", "scss/style.scss" %} <link rel="stylesheet" href="./{{ ASSET_URL }}"> {% endassets %}
assets
がテンプレートのタグで、filters
が追加で通すpluginとかで、output
が吐き出されるファイル名で、そのあとのreset.scss
やstyle.scss
はビルドされるファイル群です。
また、output
で吐き出されたファイルは、ASSET_URL
に入ります。
これでビルドして問題なければおkです。
とりあえず今日はここまで。
使ってみて
CSSがそんなに得意じゃないので、ベンダープレフィックスとか使いたいときにどうしよう?ってなる。いつもはこういうのはnodeのgulpを利用しているので。
となると、templateはgulpで作成して、記事書くのはpelicanにお願いしようかしら。
めんどくさい。
参考になったリンク
クイックスタート Quickstart — Pelican 3.6.3 documentation
テンプレートのフォーマット Creating themes — Pelican 3.6.3 documentation
記事書くときの参考
http://docs.getpelican.com/en/stable/content.html
設定ファイルの説明
Settings — Pelican 3.6.3 documentation
テンプレートのシンタックス