Just the Docs は文書管理に 特化したJekyllテーマですが、サイト内のリンク生成にabsolute_urlフィルタが 使われており、Dockerを使ったテストの際などに問題が発生していました。

現在、使用しているバージョンは下記のとおりです。

  • jekyll (4.1.1)
  • just-the-docs (0.3.2)

absolute_urlの問題は昨年10月 1 GitHubに absolute_url should be changed to relative_url #237 が立てられ、約半年後 2Update absolute_path to relative_path #312 が出されています。

このPull requestは 0.3.0 3 で取り込まれる予定 4 でしたが、 0.3.2 で実装されましたとアナウンス 5 されていました。

その0.3.2 が先日リリース 6 されたので確認してみると、CSS, JSのリンク問題は解消され ましたが #312 のすべてが実装されたわけではなく下記のファイルではリンクの生成に absolute_urlフィルタが使われています。

  • _layouts/default.html
  • _includes/css/just-the-docs.scss.liquid
  • _includes/nav.html
  • assets/js/just-the-docs.js
  • assets/js/zzzz-search-data.json

確かに Google Search Console ヘルプ にはクローラーのために

可能な場合は、相対リンクではなく絶対リンクを使用します

と書かれていますから、できる限り絶対リンクを使おうということなのでしょう。

しかし、通常どおり文書内に下記のようにリンクを書くと

[Link to a page]({% link news/index.html %})
[Name of Link]({% post_url 2010-07-21-name-of-post %})

相対リンクが生成され、ナビ部分などテーマ側で生成されるリンクは 絶対リンクになっていますから、普通に使っていると絶対リンクとして貼られる ページと相対リンクとして貼られるページとが混在することになってしまいます。

絶対リンクと相対リンクの混在はGoogleのいうところの 可能な場合 の範疇という 判断なのでしょうが、相対リンクに統一すれば良いのにと思ってしまいます。

ちなみにデフォルトテーマのMinimaではDisqusに渡すURLの生成だけに absolute_urlフィルタが使われ、サイト内のリンクは相対リンクに統一されています。

個人的に混在しているのは、なんだか気持ちが悪いのでテーマを上書きして使う 7 ことにします。

  1. 2019年10月16日 

  2. 2020年4月29日 

  3. 2020年6月27日 リリース 

  4. 2020年5月27日 

  5. 2020年8月1日 

  6. 2020年9月15日 リリース 

  7. 見た目はデフォルトのJust the Docsと変りませんが、 Jekyll Note ではテーマを カスタムして使用しています。