テンプレート
Miyadaikuは、contents
ディレクトリを走査し、アーティクルやインデックスなどのコンテンツをJinja2テンプレートに渡してHTMLを作成します。テンプレートは、プロジェクトディレクトリの templates
ディレクトリに作成します。
アーティクルテンプレート
アーティクルに適用するテンプレートは、article_template
プロパティで指定します。未指定の場合は、'page_article.html'
となります。
アーティクルテンプレートでは、次の変数を参照できます。
- page
- ページに表示する Article オブジェクト を参照します。
- context
- 実行中の状態を示す コンテキストオブジェクト を参照します。
- contents
- コンテンツ コレクション オブジェクトを参照します。
アーティクルテンプレートでは、次のようにアーティクルのHTMLを表示します。
例: シンプルなアーティクルテンプレート
<html>
<head>
<title>{{ page.title }} </title>
</head>
<body>
<h1>{{ page.title }} </h1>
{{ page.html }}
</body>
</html>
インデックステンプレート
インデックスに適用するテンプレートは、1ページ目をindexpage_template
プロパティと indexpage_template2
プロパティで指定します。未指定の場合は、どちらも page_index.html
となります。
インデックステンプレートでは、次の変数を参照できます。
- page
- ページに表示する IndexPageオブジェクト オブジェクト を参照します。
- context
- 実行中の状態を示す コンテキストオブジェクト を参照します。
- contents
- コンテンツ コレクション オブジェクトを参照します。
- articles
- ページに表示するArticle オブジェクト のリストを参照します。
- cur_page
- 現在のページ番号(1~)。
- num_pages
- インデックスのページ数。
- is_last
- 最終ページならTrue
グループ別インデックスページ
groupby
プロパティを指定したグループ別インデックスページでは、テンプレートで次の変数を参照できます。
- group_value
- グループの値
例: シンプルなインデックステンプレート
<html>
<body>
<!-- エントリへのリンク -->
{% for article in articles %}
<p>{{ article.link() }}</p>
{% endfor %}
{% if cur_page != 1 %}
<!-- 前ページへのリンク>
{{ page.link(group_value=group_value, npage=cur_page-1) }}
{% endif %}
{% if not is_last %}
<!-- 次ページへのリンク>
{{ page.link(page, group_value=group_value, npage=cur_page+1) }}
{% endif %}
</body>
</html>