Опция `hard_wrap` и расширение` space_after_headers` не работают должным образом в Redcarpet - PullRequest
0 голосов
/ 10 июня 2019

При использовании Redcarpet настройка по умолчанию работает нормально, но мы хотели бы использовать немного другой стиль Markdown, чем этот.

В частности, я хочу hard_wrap = true, потому что большинство пользователей нашего сайта не будут знать, что им нужно написать 2 новых строки между каждым абзацем. Кроме того, я хочу space_after_headers = false, потому что в настоящее время наши заголовки отображаются с пробелом позади них, и я бы предпочел, чтобы это работало как MD Github.

Однако эти два параметра не работают.

Я проверил версию Redcarpet, которую мы используем, и это последняя версия 3.4.0.

Также я проверил, что используемые нами параметры действительно влияют на визуализированный html, и они это делают.

Я переопределяю функцию markdown в моем ApplicationHelper:

module ApplicationHelper
    def markdown(text)
        options = {
            # Lets users separate paragraphs with just one newline.
            hard_wrap:       true,
            with_toc_data:   true,
        }

        extensions = {
            autolink:                     true,
            tables:                       true,
            # Makes headers need a space between the "######" 
            # indicating the header's level, and their title.
            # That is, "##Hi" would not be a valid H2 heading,
            # whereas "## Hi" would be a valid H2 heading :)
            space_after_headers:          true,
        }

        renderer = Redcarpet::Render::HTML.new(options)
        markdown = Redcarpet::Markdown.new(renderer, extensions)

        markdown.render(text).html_safe
    end
end

Опция hard_wrap, похоже, не влияет на мой отрендеренный HTML. Он должен отделять мои абзацы с помощью тега <br/>, но он действует как запрет.

Расширение space_after_headers делает так, чтобы эти две строки:

###Hi

и

### Hi

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

...