web-dev-qa-db-ja.com

jekyll markdown内部リンク

JekyllはMarkdown形式のリンクを使用しますが、内部コンテンツにリンクするにはどうすればよいですか?

[[link]] 
128
JuanPablo

以下を使用して、内部リンクを投稿できるようになりました。

[Some Link]({% post_url 2010-07-21-name-of-post %})

これは Jekyll Documentation でも参照されています。

https://github.com/mojombo/jekyll/pull/369

230
Brett Hardin

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 を参照してください。

28
elfxiong

ページの場合、 彼らは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 %}
26
bmaupin

Jekyllには複数のリンク方法がありますが、そのいくつかは時代遅れになっています。

リンクタグ付き

内部ファイルにリンクする推奨方法は

[Link]({{ site.baseurl }}{% link path/to/file.md %})

ファイルが移動または削除されると、これによりエラーが発生することに注意してください。

パーマリンク付き

エラーを発生させずにページにリンクするには(代わりにリンクの破損):

[Link]({{ '/path/to/page/' | relative_url }})

ここで、ページのパーマリンクを把握し、relative_urlフィルタを使用して、サイトのベースURLがプレフィックスとして付加されるようにします。

ページのパーマリンクは、設定ファイルのpermalink設定と、ファイルの先頭のpermalinkキーに依存します。

Jekyll-relative-linksを使用

相対パスを使用する(およびリンクをGitHubのマークダウンビューで機能させる)場合は、 jekyll-relative-links 。これにより、次のようなリンクを作成できます。

[Link](./path/to/file.md)

[Link to file in parent folder](../file.md)
7
qwtel

内部コンテンツが同じページにある場合、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)
4
starfry