sassの導入(Pelican)
table contenscssをいじり出すと、sass で書きたくなる。
というかsassじゃないけど、この先管理できなくなりそう。
scss/style.scss を利用する手順は以降の通り。
1 sass の導入方法
sass compiler としては、ruby のsassが一般的だが、せっかくなので python だけでやる。
pyscss を導入する。
$ pip install pyscss
2 pelicanconf.py の修正
PLUGIN として、 assets を設定。
sccs, css の保存場所として、theme 配下のdirectoryを記述しておく。
PLUGIN_PATHS = ['pelican-plugins']
PLUGINS = ['assets']
ASSET_SOURCE_PATHS = ['vendor/css', 'scss',]
3 sass の style.scss を作る
theme/theme名/scss に style.scss を作成。
ex
div.content {
code {
background-color: #f0f0f0;
padding: 2px 4px;
border-radius: 4px;
}
}
4 template に埋め込む
theme/theme名/base.html (style linkを埋め込むべき template file) に
以下のように記述する。
filtersに、以下の2つを設定する。
- sass complier 用
pyscss - minify 用
cssmin
{% assets filters="pyscss,cssmin", output="css/style.min.css", "style.scss" %}
<link rel="stylesheet" href="{{ SITEURL }}/{{ ASSET_URL }}">
{% endassets %}
開発環境では、こんな感じでhtmlに展開される。
<link rel="stylesheet" href="http://localhost:8000/theme/css/style.min.css?e861228a">