Odpowiedzi:
Możesz teraz publikować linki wewnętrzne, korzystając z:
[Some Link]({% post_url 2010-07-21-name-of-post %})
Jest to również wymienione w dokumentacji Jekyll .
[Title of post](/correct/permalink)
za pomocą jednego polecenia? Mogłem to zrobić tylko z filtrowaniem, które jest zbyt szczegółowe.
Za pomocą link
tagu można teraz tworzyć linki do stron innych niż posty . link
działa dla postów, stron, dokumentów w kolekcji i plików.
{{ 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 %}
Pamiętaj, aby w przypadku używania link
tagu podać rozszerzenie pliku . Aby użyć go do utworzenia łącza:
[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 %})
Zobacz dokumentację Jekyll .
{{ site.baseurl }}
ponieważ podwaja wartość baseurl w wygenerowanym href. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
W przypadku stron zdecydowali się nie dodawać page_url
tagu, ponieważ i tak musiałbyś znać ścieżkę do strony. Musisz więc tylko ręcznie połączyć się z nim:
[My page](/path/to/page.html)
Lub możesz zrobić coś dużego i brzydkiego w ten sposób, jeśli chcesz programowo uzyskać tytuł strony:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Jeśli zawartość wewnętrzna znajduje się na tej samej stronie, można utworzyć do niej link za pomocą tej auto_ids
funkcji. Włączasz to w _config.yml
:
kramdown:
auto_ids: true
Gdy ta opcja jest włączona, każdy nagłówek otrzymuje odniesienie na id
podstawie tekstu nagłówka. Na przykład
### My Funky Heading
stanie się
<h3 id="my-funky-heading">My Funky Heading</h3>
Możesz utworzyć link do tego z tego samego dokumentu, wykonując coś takiego:
The funky text is [described below](#my-funky-heading)
Jeśli wolisz, możesz przypisać wyraźny identyfikator:
### My Funky Heading
{: #funky }
i link do niego
The funky text is [described below](#funky)
W Jekyll istnieje wiele sposobów łączenia, z których niektóre są obecnie nieaktualne.
Zalecany sposób tworzenia linków do plików wewnętrznych to
[Link]({{ site.baseurl }}{% link path/to/file.md %})
Pamiętaj, że spowoduje to błąd, jeśli plik zostanie przeniesiony lub zostanie usunięty.
Aby utworzyć łącze do strony bez powodowania błędów (zamiast tego niedziałające linki):
[Link]({{ '/path/to/page/' | relative_url }})
Zauważ, że tutaj musisz znać permalink strony i przepuścić go przez relative_url
filtr, aby upewnić się, że jest poprzedzony podstawowym adresem URL witryny.
Link bezpośredni do strony zależy od permalink
ustawień w pliku konfiguracyjnym i permalink
klucza w pierwszej części pliku.
Jeśli chcesz używać ścieżek względnych (i chcesz, aby linki działały w widoku przecen GitHub), powinieneś użyć jekyll-relative-links
. Dzięki temu możesz pisać linki takie jak:
[Link](./path/to/file.md)
[Link to file in parent folder](../file.md)
Wyobraź sobie, że to jest katalog Twojego projektu:
Aby połączyć „index.md” z plikiem w folderze „blog” o nazwie „20190920-post1.md”, wykonaj następujące czynności:
Dodaj następujące informacje:
[dowolny tekst] (./ ścieżka względna)
Na przykład:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
Wynik: