テーマテンプレートからシングルページを作るだけのHexoプラグイン

archivesページを整える[2015/01/28]1のときにいまいちな感じにしていたサイトの構成をちゃんとするために、Hexoのgeneratorプラグインをつくった。標準のpageと同じ感じだけど専用のレイアウトテンプレートでヘルパーを使って内容が更新されるページが作れる。

これを使ってHighlightsをまとまった読み物が並ぶページにして、Archivesはもとに戻した。

ちなみにこないだ作ったmonthly_post_listもあげてある。


Hexoプラグインを試作した

せっかく毎日blogを書いているので、月末にまとめ記事を作れるようにしたいなと思っていて、それを実現するHexoプラグインを手探りでつくった。

1
2
3
{% monthly\_post\_list 201502 book %}

とすると、2015年2月のbookタグを持ったポストの一覧が生成される。

使ったページがこれ。

とりあえずHexoのブログフォルダのscriptsに置けば動くけどあとで正式なプラグインにしよう。


Hexoを3.0.0-rc.4にアップグレードした

なぜかいつのまにかHexoが動かなくなっていたので勢いで3.0.0-rc.4にしてみたら、けっこう各部が動かなくて困った。

archive画面でget_postsで記事をリスティングしてたのが動かなくなってて(v3ではヘルパーのget_postsが廃止されたそうだ)、しかもその代替コードがいまいちよくわからなったのだが、

1
2
3
\<% site.tags.find({name: 'work'}).data[0].posts.sort('date', -1).forEach(function(item){ %\>
<li><a href="<%- config.root %><%- item.path %>"><%= item.title %></a></li>
\<% }); %\>

にしたらひとまず動いた(postsを取るもっといいインターフェイスがないとおかしい気がするのだが)。

あとhexo-generator-feedがnpmにあるのだとv3に対応してないので、

1
npm install git+https://[email protected]/hexojs/hexo-generator-feed.git --save

とgitのを入れて間に合わせた。

今日はとりあえずここまで。


archivesページを整える

デフォルトのままだったarchivesページを多少見通しのいい形にした。といっても相変わらず10年以上前のエントリがほとんどみたいな感じではあるけど…もうちょっとなんとかするにはHexoに手を入れないといけないみたいなので今日はここまで(裏でジェネレータがarchivesページのページネート分も生成しちゃうっぽいけど気にしない)。

自分の行動からすると、ひとのブログを見て気になったらaboutのページを見に行くものだし(はてなブログのaboutページのなんの意味もなさはいつも見てすごいなと思う)、さらに気になればarchiveから全エントリを見ようとするものなので、この2つはちゃんと見たいものを用意してあげるべきだと思っている。


昔のブログエントリをインポート

レンタルサーバを整理するため、過去のブログ(2年前で更新が止まっている)のWordPressからポストをここにインポートした。もはや過去の遺物としか言いようがないものだけどいちおう矜持として。191本。

WordPressからの吸い出しはWordpressからOctopressに移行する - 飲んだり寝たりを参考にしてカテゴリをtagにしたりdateをオリジナルのにしたりするスクリプトで処理して取り込んだ。あとで気づいたけどhexojs/hexo-migrator-wordpressのほうがよかったのかもしれない。

合わせて去年末から先行して試していたtumblrのブログに書いてたポストもこっちにまとめた。