Spec-Zone.ru › Jekyll 4

Параметры Markdown

Различные рендереры Markdown, поддерживаемые Jekyll, иногда имеют дополнительные параметры.

Kramdown

Kramdown — это по умолчанию рендерер Markdown для Jekyll. Ниже приведен список поддерживаемых параметров:

  • auto_id_prefix — Префикс, используемый для автоматически сгенерированных идентификаторов заголовков
  • auto_id_stripping — Удаление всего форматирования из текста заголовка для автоматической генерации идентификатора
  • auto_ids — Использовать автоматическую генерацию идентификаторов заголовков
  • coderay_bold_every — Определяет, как часто должна выделяться жирным шрифтом номер строки
  • coderay_css — Определяет, как стилизуется выделенный код
  • coderay_default_lang — Устанавливает язык по умолчанию для выделения кодовых блоков
  • coderay_line_number_start — Начальное значение для номеров строк
  • coderay_line_numbers — Определяет, как и показывать ли номера строк
  • coderay_tab_width — Ширина табуляции, используемая в выделенном коде
  • coderay_wrap — Определяет, как должен обрезаться выделенный код
  • enable_coderay — Использовать coderay для подсветки синтаксиса
  • entity_output — Определяет, как выводятся сущности
  • footnote_backlink — Определяет текст, который должен использоваться для обратных ссылок на сноски
  • footnote_backlink_inline — Указывает, всегда ли ссылка на сноску должна быть внедрена в строку
  • footnote_nr — Номер первой сноски
  • gfm_quirks — Включает набор специфичных для GFM особенностей
  • hard_wrap — Буквально интерпретирует переводы строк
  • header_offset — Устанавливает смещение вывода для заголовков
  • html_to_native — Преобразование HTML-элементов в стандартные элементы
  • line_width — Определяет ширину строки, которая будет использоваться при выводе документа
  • link_defs — Предварительно определяет определения ссылок
  • math_engine — Установка математического движка
  • math_engine_opts — Установка параметров математического движка
  • parse_block_html — Обработка синтаксиса kramdown в блочных HTML-тегах
  • parse_span_html — Обработка синтаксиса kramdown в HTML-тегах span
  • smart_quotes — Определяет имена HTML-сущностей или кодовые точки для вывода умных кавычек
  • syntax_highlighter — Установка подсветки синтаксиса
  • syntax_highlighter_opts — Установка параметров подсветки синтаксиса
  • toc_levels — Определяет уровни, используемые для оглавления
  • transliterated_header_ids — Транслитерирование текста заголовка перед генерацией идентификатора
  • typographic_symbols — Определяет отображение типографских символов на выходные символы

Пример использования

kramdown:
  html_to_native: true
Есть два неподдерживаемых параметра kramdown

Обратите внимание, что оба remove_block_html_tags и remove_span_html_tags в настоящее время не поддерживаются в Jekyll, так как они не включены в конвертер HTML kramdown.

Для получения более подробной информации об этих параметрах ознакомьтесь с документацией по конфигурации Kramdown.

CommonMark

CommonMark — это рационализированный вариант синтаксиса Markdown, реализованный на C и, следовательно, быстрее, чем по умолчанию Kramdown, реализованный на Ruby. Он несколько отличается от исходного Markdown и не поддерживает все элементы синтаксиса, реализованные в Kramdown, например, Блочные списки атрибутов.

Он доступен в двух вариантах: базовый CommonMark с плагином jekyll-commonmark и поддержка GitHub Flavored Markdown, поддерживаемая GitHub Pages.

Пользовательские обработчики Markdown

Если вы заинтересованы в создании пользовательского обработчика Markdown, вам повезло! Создайте новый класс в пространстве имен Jekyll::Converters::Markdown:

class Jekyll::Converters::Markdown::MyCustomProcessor
  def initialize(config)
    require 'funky_markdown'
    @config = config
  rescue LoadError
    STDERR.puts 'You are missing a library required for Markdown. Please run:'
    STDERR.puts '  $ [sudo] gem install funky_markdown'
    raise FatalException.new("Missing dependency: funky_markdown")
  end

  def convert(content)
    ::FunkyMarkdown.new(content).convert
  end
end

После создания своего класса и его правильной настройки, либо как плагин в папке _plugins, либо как gem, укажите его в _config.yml:

markdown: MyCustomProcessor

© 2020 Jekyll Core Team and contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/configuration/markdown/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API