mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

nanoc - 最近の記事一覧を表示!

[ ブログ ] [ Ruby, nanoc ]

こんばんは。

nanoc でブログ運用する場合に、ちょっとした設定を行うことでサイドバー等に最近の記事の一覧を表示させることが可能です。

以下は、当方の作業の記録です。

0. 前提条件

  • Linux Mint 14 Nadia (64bit) での作業を想定。
  • nanoc 3.4.3 を使用。
  • Ruby 1.9.3-p362 を使用。
  • nanoc 用ブログヘルパー(Blogging, Rendering, LinkTo)のインクルード設定済み。
  • テンプレート機能は ERB を使用。

1. 部分テンプレート作成

サイドバー表示用の部分テンプレートを作成する。

layouts/_article_list.html
1
2
3
4
5
6
7
8
<ul>
  <% sorted_articles[0, 10].each do |article| %>
  <li>
    <%= link_to(article[:title], article.path) %><br />
    <span class="meta">[ <%= Time.parse(article[:created_at]).strftime("%Y-%m-%d %H:%M") %> ]</span>
  </li>
  <% end %>
</ul>

Blogging Helper の sorted_articles により、記事ファイル内のメタデータ kind の設定値が article のものだけを created_at の降順にソートしてくれる。

2. サイドバー埋め込み

サイドバーの適切な位置に前述のテンプレートを埋め込む。(以下は当方の例)

layouts/_sidebar.html
1
2
<h2>Recent Posts</h2>
<%= render('_article_list') %>

3. コンパイル

いつものようにコンパイルする。

Rules
1
$ nanoc compile

4. 確認

nanoc view 実行後、ブラウザで確認してみる。
今回の例の場合、最大10件の記事タイトル・投稿日時の一覧表示されるはずである。
以下は当方の例で、当記事執筆時点(調整中の段階)のもの。

NANOC_RECENT_POST

5. 参考サイト


これで、最近の記事の一覧が表示されるようになりました。

ちなみに、nanoc によるブログを Octopress によるメインのブログのクローンとして公開しています。

但し、mk-mode BLOG (by Octopress)の記事を機械的に変換しているため、人知の及ばない部分もあるかと思います。ご了承下さい。

以上。

Comments