Hakyllの各記事ページのタグにリンクを付けた

成果物

何?

 👆にあると思うんですが、Tagsにリンクがつくようになりました。

before

after

 HakyllとHakyllのドキュメントがわからないので、Compiler, Item, Identifier, Contextについてctagsを駆使して、諸関数を走り回っていました。 だってドキュメントに情報があまり書いてないんだもん。

 うおー、頭が最高になっていて、疲労もあるけど充実していて、そして最高になっていて充実感がある。

何??

 つまりタグにタグページへのリンクを貼りたかったんです。 しかしHakyll公式のどこにもドキュメントが見つからなかったので、降りてきたHaskellの意思と同化し、そして達成した。

回答

 メタデータ全体を取ってきて、その中の、どこかの関数が設定するだろう"tags"フィールドを","区切りにしてできたものを"tagName"というフィールドに入れて、 それをlistFieldの"tagNames"としてpostCtx(記事用Context)に突っ込んだ。

TODO

  • なんでurlField(と(多分)他のfooField系関数)じゃだめで、titleFieldだと対象のフィールド名にtagsの値を設定できたのか?
  • どこが"tags"をメタデータに設定しているのか?
  • そもそもMonadMetadataあたり? の状態っぽいのから"tags"を取ってくるんじゃなくて、純粋に書くページ用の生成することができるのではないか?
    • そう、buildTags "posts/*"のように!

感想

 最高。 全てが充実感にあふれており、この記事には知性が少なく、しかし充実感がある。 およそ文章の体を成していないこの記事を後日見たときに、おそらく恥ずかしくなるかもしれないけど、最高なのでいい。 うおー、最高だー。

参考ページ

筆者プロフィール

my-latest-logo

aiya000(あいや)

せつラボ 〜圏論の基本〜」 「せつラボ2~雲と天使と関手圏~」 「矢澤にこ先輩といっしょに代数!」を書いています!

強い静的型付けとテストを用いて、バグを防ぐのが好き。Haskell・TypeScript。