Date July 08, 2013
Share このエントリーをはてなブックマークに追加

ちょくちょくPelicanのテンプレートいじったりしてるんだけど、 記事が個別に表示されるときだけFBのOGPタグを出したかったのでちょっと調べた。

PelicanはJinjaというDjangoに影響されたらしいテンプレートエンジンを使ってるので、 まあそのドキュメントを見ればいいかなと。

なんでもbase.htmlに書いてあるheadタグ内に継承先から追記することができるらしい。 つまりbase.html冒頭が以下の様な感じだったら、

<!DOCTYPE html>
<html>
    <head>
    {% block head %}
        <title>rn4ru diary</title>
        <!-- 以下略 -->
    {% endblock %}
</head>

継承先のarticle.htmlでは

{% extends "base.html" %}
{% block head %}
{{ super() }}
<!-- 追記したい内容をここに -->
{% endblock %}

という風にheadブロック内に追記することができる。 {{ super() }}というのは継承元(つまりbase.html)のheadの中身をそのまま出力してるみたい。

最初base.htmlに{% block head %}が書かれてなくてハマったのでメモ。


Comments

comments powered by Disqus