wake-up-neo.com

jekyll markdown interne links

Jekyll verwendet Markdown-formatierte Links, aber wie kann ich auf interne Inhalte verlinken?

[[link]] 
128
JuanPablo

Sie können jetzt interne Links veröffentlichen, indem Sie Folgendes verwenden:

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

Dies wird auch in der Jekyll-Dokumentation erwähnt.

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

230
Brett Hardin

Es ist jetzt möglich, mit dem Tag link auf andere Seiten als Beiträge zu verlinken. link funktioniert für Posts, Seiten, Dokumente in einer Sammlung und Dateien.

{{ 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 %}

Denken Sie daran, die Dateierweiterung anzugeben, wenn Sie das Tag link verwenden. So erstellen Sie einen Link daraus:

[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 %})

Siehe Jekyll-Dokumentation .

28
elfxiong

Für Seiten sie haben beschlossen, kein page_url - Tag hinzuzufügen , weil Sie den Pfad der Seite sowieso kennen müssten. Sie müssen also nur manuell darauf verlinken:

[My page](/path/to/page.html)

Oder Sie können so etwas Großes und Hässliches tun, wenn Sie den Titel der Seite programmgesteuert abrufen möchten:

{% for page in site.pages %}
  {% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
  {% endif %}
{% endfor %}
26
bmaupin

In Jekyll gibt es mehrere Arten der Verknüpfung, von denen einige inzwischen veraltet sind.

Mit Link-Tags

Der empfohlene Weg, um auf interne Dateien zu verlinken, ist

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

Beachten Sie, dass dies einen Fehler verursacht, wenn die Datei verschoben oder gelöscht wird.

Mit Permalinks

So verlinken Sie auf eine Seite, ohne Fehler zu verursachen (stattdessen beschädigte Links):

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

Beachten Sie, dass Sie hier den Permalink der Seite kennen und ihn durch das relative_url filtern, um sicherzustellen, dass die Basis-URL der Site vorangestellt wird.

Der Permalink einer Seite hängt von der Einstellung von permalink in Ihrer Konfigurationsdatei und der Taste permalink im Vordergrund der Datei ab.

Mit Jekyll-Relativ-Links

Wenn Sie relative Pfade verwenden möchten (und die Links in der Markdown-Ansicht von GitHub funktionieren sollen), sollten Sie jekyll-relative-links . Auf diese Weise können Sie Links schreiben wie:

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

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

Wenn sich das interner Inhalt auf derselben Seite befindet, können Sie mit dem auto_ids Feature. Sie aktivieren dies in _config.yml:

kramdown:
    auto_ids: true

Wenn diese Option aktiviert ist, erhält jede Überschrift eine id -Referenz basierend auf dem Überschriftentext. Beispielsweise

### My Funky Heading

wird werden

<h3 id="my-funky-heading">My Funky Heading</h3>

Sie können innerhalb desselben Dokuments einen Link dazu erstellen, indem Sie wie folgt vorgehen:

The funky text is [described below](#my-funky-heading)

Sie können eine explizite ID zuweisen, wenn Sie möchten:

### My Funky Heading
{: #funky }

und verlinken Sie darauf

The funky text is [described below](#funky)
4
starfry