HexoのテーマFreewillに月別アーカイブ
サイドバーの種類にもよるが、Gitリポジトリを使ったブログにサイドバーを付けると、新規記事をdeployする際に更新するファイルが増えてしまって良くないように思う。
先日入れたテーマFreewillはその辺を考慮してか、ページネーションのページ等どうしても更新せざるを得ないページにはサイドバーを置き、個別記事のページではサイドバー領域に投稿日やタグなどを表示するよう工夫されている。
実際、新規記事をdeployしても、過去の記事はcommitされていないようだ。
ところで、Freewillには月別アーカイブが無かったので、入れることにした。
デフォルトテーマのLandscapeのarchive.ejsをそのままfreewill/layout/_widget内にコピペすると、西暦の後ろに投稿数が隙間無しにくっついていて、見栄えが良くない。
archive.ejsを修正、
<% if (site.posts.length){ %>
<div class="widget">
<h4><%= __('Monthly Archives') %></h4>
<ul class="archive-list inline list-unstyled">
<%- list_archives() %>
</ul>
</div>
<% } %>
freewill/source/css/style.cssにもスタイルを加えた。
/* Monthly Archives
---------------------------- */
.archive-list ul {
padding:0 3px;
list-style-type: none;
line-height: 20px;
}
.archive-list-count {
color: #888;
}
.archive-list-count:before {
content: " (";
}
.archive-list-count:after {
content: ")";
}
ちゃんとした知識が無く、見よう見まねなので、あまり良い記述ではないと思うが、自分としては十分満足。
ーー
(追記)
Githubのコミット歴をよく見てみたら、同じタグを使っている過去記事も更新されるようだ。
個別記事ページのタグの箇所にそのタグを使っている記事数が表示されているせいだろう。
タグクラウドやタグ一覧ページは良いとして、個別記事ページのタグには記事数は無い方が良さそうだ。
freewill/layout/_partial/post/tag.ejsの5行目から<span>' + tag.length + '</span>
を削除して、タグ名だけにした。
tags.push('<li><a href="' + config.root + tag.path + '">' + tag.name + '</a></li>');
これで様子を見てみようと思う。