Как получить ванильный стиль Markdown относительно ссылки на работу с ванильными страницами Jekyll и Github?

64
5

tl; dr Я хочу, чтобы Markdown, относительные ссылки, страницы Jekyll и Github играли хорошо вместе.

Я хотел бы иметь возможность просматривать файл, содержащий рабочие ванильные относительные ссылки стиля Markdown (т.е. [a relative link](other_file.md)) на страницах Github и Github с использованием Jekyll.

Пока это работает с просмотром указанного файла в Github, так как Github добавил поддержку относительных ссылок.

Однако это не работает из коробки в Jekyll, потому что он ожидает {{ site.baseurl }}{{ post.url }}.

Есть ли какой-нибудь препроцессор или другой метод, который я мог бы использовать, чтобы получить относительные ссылки стиля Markdown, работающие в Jekyll, без использования каких-либо "небезопасных" плагинов?

спросил(а) 2021-01-19T11:51:55+03:00 8 месяцев назад
1
Решение
65

Markdown, относительные ссылки, страницы Jekyll и Github хорошо сочетаются

уценка

По умолчанию Markdown парсер для Jekyll - Kramdown. Он позволяет записывать уценку в файле (page.md или page.markdown) и в переменных.

Когда у вас есть уценка в переменной, вы можете проанализировать ее с помощью {{variable | markdownify }} markdownify}}

Условные обозначения

Ссылка на ваш пример ([a relative link](other_file.md)) станет отличной относительной ссылкой с вашей страницы на другую страницу sibling_file.md.

Вы можете использовать этот синтаксис.

{{ site.baseurl }} и {{ post.url }}

Эти переменные не являются обязательными в Jekyll.

{{ post.url }} часто встречается в циклах и приводит к ссылкам, таким как [{{ post.title }}]({{ post.url }}) и это только автоматизация. И вы не обязаны использовать автоматизацию.

{{ site.baseurl }} (который отличается от {{ site.url }}) - очень полезная переменная для построения ссылок относительно корня сайта.

Ссылка, аналогичная [a relative link](/other_file.md) будет работать только в том случае, если ваш сайт находится в корне домена, потому что он преобразуется как /other_file.html. Если сайт размещен в domain.tld.blog, эта ссылка будет отсутствовать.

Если вы установите baseurl: /blog в файле _config.yml. Добавление [a relative link]({{ site.baseurl }}/other_file.md) даст вам идеальную относительную ссылку на root: /blog/other_file.html.

ответил(а) 2021-01-19T11:51:55+03:00 8 месяцев назад
-5

Я использую метод Cocs Gross docsync, который использует javascript после загрузки страницы для управления относительными ссылками. Это позволяет использовать ссылки в стиле ванили.

ответил(а) 2021-01-19T11:51:55+03:00 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема