Just the Docs のリンク生成について
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 が立てられ、約半年後 2 に Update 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 ことにします。
Tag cloud
android (2), bash (1), bitbucket (2), chromebook (2), cifs (1), css (1), docker (1), git (1), gitlab (1), info (1), javascript (3), jekyll (13), markdown (1), nfs (1), nodejs (2), php (2), plugins (5), powerline (1), ruby (1), ssh (1), themes (1), vim (1), windows (1), wordpress (1), wsl (1), xrea (7)