[Jekyll] URLの書き方
JekyllのHTMLを書いていて、パスの書き方で混乱してしまったのメモ。
レイアウト用のHTMLを編集していたら、ファイルのパスをこんな書き方にしていた。
<a href="{{ site.baseurl }}/assets/image.jpg"/>feed</a>
以前、古いテーマを参考にして、自分のソースでもこの書き方にしてしまったようだ。Jekyllの仕組みがわかっていれば、理屈はわかるが、いささか ad hoc なやり方のようにも見える。
今は、Jekyllのフィルターを使う(とはいえ、2016年10月にJekyll 3.3で導入されているので、ずいぶん前の話)。
<a href="{{ "/assets/image.jpg" | relatvie_url }}"/>feed</a>
やはり、このほうがJekyll、というかLiquidらしくて、いい感じ。
_config.xml
のbaseurl
を例えば、"/base"
と指定していれば、
<a href="/base/assets/image.jpg"/>feed</a>
こんな感じのHTMLが生成される。
絶対パスでも考え方は同じで、absolute_urlフィルターを使えばよい。
<a href="{{ "/assets/image.jpg" | absolute_url }}"/>feed</a>
わざわざ説明する話でもないけれど、紛らわしいこともあるので、一応、記事にしてみた。