rstblog で最近のエントリーを表示する
written on Sunday, January 29, 2012
ブログなんかはサイドバーに最近のエントリーみたいな形で表示する事が多い。 Octpress なんかも表示している。
rstblog でどうやって表示するか分からなかったのでちょっとだけソースを読んでみた。
rstblog/modules/blog.py
def setup(builder):
# snip
builder.jinja_env.globals.update(
get_recent_blog_entries=get_recent_blog_entries
)
Jinja2 に get_recent_blog_entries というオブジェクトを渡している。
なので、テンプレートでこれを呼んでやれば良い。
<div class="side">
<h2>Recent Posts</h2>
<ul class="unstyled">
{% for entry in get_recent_blog_entries() -%}
<li><a href="{{ link_to('page', slug=entry.slug) }}">{{ entry.title }}</a></li>
{% endfor -%}
</ul>
</div>
get_recent_blog_entries は引数で件数を設定できる。
設定しない場合はデフォルトで 10 件取得するようになっている。
エントリのタイトルを表示し、リンクとしてエントリの slug を設定すると該当エントリにリンクを設定する事ができる。