ちょくちょく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