Відповіді:
Тепер ви можете розміщувати внутрішні посилання, скориставшись такими:
[Some Link]({% post_url 2010-07-21-name-of-post %})
На це також посилається в Документації Джекілла .
[Title of post](/correct/permalink)
за допомогою однієї команди? Я міг це зробити лише за допомогою фільтрації, яка занадто багатослівна.
Тепер можна посилатися на інші сторінки, крім публікацій, використовуючи 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 %})
Див. Документацію Джекілла .
{{ site.baseurl }}
оскільки він подвоює базове значення в генерованому href. [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
Для сторінок вони вирішили не додавати page_url
тег, оскільки вам доведеться знати шлях до сторінки. Тож вам просто потрібно посилання на нього вручну:
[My page](/path/to/page.html)
Або ви можете зробити щось таке велике та потворне, якщо ви хочете програмно отримати заголовок сторінки:
{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[{{ page.title }}]({{ page.url }})
{% endif %}
{% endfor %}
Якщо внутрішній вміст знаходиться на одній сторінці, то можна посилатися на нього за допомогою auto_ids
функції. Увімкніть це в _config.yml
:
kramdown:
auto_ids: true
Якщо це ввімкнено, кожен заголовок отримує id
посилання на основі тексту заголовка. Наприклад
### My Funky Heading
стане
<h3 id="my-funky-heading">My Funky Heading</h3>
Ви можете зв’язати це з одним документом, зробивши щось подібне:
The funky text is [described below](#my-funky-heading)
Ви можете призначити явний ідентифікатор, якщо хочете:
### My Funky Heading
{: #funky }
і посилання на нього
The funky text is [described below](#funky)
У Джекілла існує декілька способів зв’язку, деякі з яких застаріли.
Рекомендований спосіб посилання на внутрішні файли - це
[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)
Уявіть, що це ваш каталог проектів:
Щоб пов’язати "index.md" з файлом всередині папки "blog" під назвою "20190920-post1.md", виконайте наступне:
Додайте наступне:
[будь-який текст] (./ відносний шлях)
Наприклад:
- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)
Вихід: