Closed Hexirp closed 4 years ago
https://github.com/Hexirp/hexirp-hakyll/issues/111 で気づいた時のメモが見られる。
Hexyll の開発を進めていて、リファクタリングを進めて、コードを書き直して、設計について考察していた。初めは何も分からずただコードを整理するだけだったけど、今になって「この設計は良いものではないのでは?」とはっきり分かるということが一つあって楽しくなってきた。その設計は「 Identifier 型をリソースを表す型とそのコンパイル結果を表す型として両用している」というもの。
正しい順番ならこうなる。最初は Identifier はリソースの識別子のことだと思っていたんだけどコンパイル結果の識別子だった。この勘違いのせいで Metadata を上手くリファクタリングすることが出来なかったけど、 Provider のリファクタリングで気づくことができた。
これは Hakyll の設計が悪いと明確に言える。