Jekyll на страницах Github: любой способ добавить сноски в Markdown? - программирование
Подтвердить что ты не робот

Jekyll на страницах 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?

4b9b3361

Ответ 1

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

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

markdown: redcarpet

в

markdown: kramdown

Ответ 2

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

Some text[^1].

Some other text[^2].

The identifier in the square brackets does not have to be numeric[^my_footnote].

[^1]: Some footnote.
[^2]: Other footnote.
[^my_footnote]: This also works fine.

Ответ 3

Redcarpet

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

Решение 1: использовать вилку Redcarpet 2

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

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

source "https://rubygems.org"

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

или, альтернативно, djui/redcarpet

Затем настройте _config.yml на

markdown: redcarpet
redcarpet:
  extensions: [footnotes]

Решение 2: вилка Jekyll и включает Redcarpet 3

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

Maruku

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