Параметры 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/