Джекилл на страницах Github: есть ли способ добавить сноски в Markdown?

Я недавно переключился на использование Jekyll на страницах Github для своих различных блогов, и мне нравится, что я могу просто нажать Markdown на Github, и они обрабатывают обработку. Я бы хотел продолжать использовать его таким образом (вместо того, чтобы запускать Jekyll локально и просто отправлять предварительно сгенерированный сайт в Github), поскольку пользовательский интерфейс Github позволяет легко добавлять и настраивать сообщения, если я не на своей собственной машине.

Есть только одна вещь, которую я не смог понять: я не могу заставить работать сноски Markdown. Я использую этот стиль:

I bet you'd like more information about this sentence [^1].

[^1]: Well lucky for you, I've included more information in footnote form.

Я нашел один пост (где-то), в котором предлагалось включить расширение сносок для процессора уценки redcarpet, но это тоже не сработало:

markdown: redcarpet
redcarpet:
  extensions: ["footnotes"]

Есть ли способ использовать сноски Markdown без предварительной генерации статического сайта перед его отправкой на Github?

4 ответа

Решение

Я использую kramdown для анализа уценки, и он хорошо обрабатывает сноски.

Измените эту строку в вашем _config.yml файл:

markdown: redcarpet

чтобы:

markdown: kramdown

Начиная с Jekyll 3.0.0, kramdown является процессором Markdown по умолчанию, поэтому пример в вопросе OP теперь работает "из коробки". Шаблон является:

Some text[^1].

Some other text[^2].

[^1]: Some footnote.
[^2]: Other footnote.

Красный ковер

Когда вы хотите использовать redcarpet кажется, сейчас нет удобного решения. Хотя Redcarpet 3 поддерживает сноски с использованным вами синтаксисом, он не включен в Jekyll, поскольку Redcarpet 3 удаляет совместимость с Ruby 1.8 ( источник).

Решение 1: использовать раздвоенный красный ковер 2

Посмотрите это решение от Джерода Санто:

Добавить файл с именем Gemfile в корень вашей папки Jekyll с этим содержимым:

source "https://rubygems.org"

gem "jekyll"
gem "redcarpet", github: "triplecanopy/redcarpet"

или в качестве альтернативы djui/redcarpet

Theny настроить ваш _config.yml в

markdown: redcarpet
redcarpet:
  extensions: [footnotes]

Решение 2: Форк Джекилл и включить Redcarpet 3

Я не знаю, какой самый простой способ сделать это. Комментарии приветствуются.

Maruku

Кажется, поддерживает сноски ( источник, источник).

Я нашел этот плагин для jekyll Github orangejulius / jekyll-footnotes . Пусть это решит проблему.

Кроме того, я прочитал только сегодня в блоге пост , который Github улучшает сноски.

Другие вопросы по тегам