JekyllはMarkdown形式のリンクを使用しますが、内部コンテンツにリンクするにはどうすればよいですか?
[[link]]
以下を使用して、内部リンクを投稿できるようになりました。
[Some Link]({% post_url 2010-07-21-name-of-post %})
これは Jekyll Documentation でも参照されています。
link
タグを使用して、投稿以外のページにリンクできるようになりました。 link
は、投稿、ページ、コレクション内のドキュメント、およびファイルに対して機能します。
{{ site.baseurl }}{% link _collection/name-of-document.md %}
{{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}
{{ site.baseurl }}{% link news/index.html %}
{{ site.baseurl }}{% link /assets/files/doc.pdf %}
link
タグを使用するときは、ファイル拡張子を忘れずに含めてください。それを使用してリンクを作成するには:
[Link to a document]({{ site.baseurl }}{% link _collection/name-of-document.md %})
[Link to a post]({{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({{ site.baseurl }}{% link news/index.html %})
[Link to a file]({{ site.baseurl }}{% link /assets/files/doc.pdf %})
Jekyll Documentation を参照してください。
ページの場合、 彼らはpage_url
tag とにかくページのパスを知る必要があるからです。したがって、手動でリンクする必要があります。
[My page](/path/to/page.html)
または、プログラムでページのタイトルを取得したい場合は、このような大きくていことをすることができます:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Jekyllには複数のリンク方法がありますが、そのいくつかは時代遅れになっています。
内部ファイルにリンクする推奨方法は
[Link]({{ site.baseurl }}{% link path/to/file.md %})
ファイルが移動または削除されると、これによりエラーが発生することに注意してください。
エラーを発生させずにページにリンクするには(代わりにリンクの破損):
[Link]({{ '/path/to/page/' | relative_url }})
ここで、ページのパーマリンクを把握し、relative_url
フィルタを使用して、サイトのベースURLがプレフィックスとして付加されるようにします。
ページのパーマリンクは、設定ファイルのpermalink
設定と、ファイルの先頭のpermalink
キーに依存します。
相対パスを使用する(およびリンクをGitHubのマークダウンビューで機能させる)場合は、 jekyll-relative-links
。これにより、次のようなリンクを作成できます。
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
内部コンテンツが同じページにある場合、auto_ids
機能を使用してリンクすることができます。 _config.yml
でこれを有効にします:
kramdown:
auto_ids: true
これを有効にすると、各見出しは、見出しテキストに基づいてid
refを取得します。例えば
### My Funky Heading
となります
<h3 id="my-funky-heading">My Funky Heading</h3>
次のような操作を行うことにより、同じドキュメント内からこれにリンクできます。
The funky text is [described below](#my-funky-heading)
必要に応じて、明示的なIDを割り当てることができます。
### My Funky Heading
{: #funky }
それにリンクする
The funky text is [described below](#funky)