#ruby-on-rails #ruby #redcarpet
#ruby-on-rails #ruby #redcarpet
Вопрос:
Я пытаюсь использовать recarpet в приложении rails 5, все работает нормально, за исключением того факта, что отступы не соблюдаются в блоках кода. Я настраиваю redcarpet в своем файле ApplicationHelper, как показано ниже.
module ApplicationHelper
def markdown(text)
options = {
filter_html: true,
hard_wrap: true,
link_attributes: { rel: 'nofollow', target: "_blank" },
space_after_headers: true,
lax_html_blocks: true,
fenced_code_blocks: true
}
extensions = {
autolink: true,
superscript: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
end
затем, на мой взгляд, я вызвал метод markdown как
<%= markdown(@blog.body) %>
Поэтому, когда я публикую статью, используя мою форму, например
def function
return you are real
end
Он отображается в браузере как
def function
return you are real
end
тем самым не соблюдая отступ. Я не знаю, упускаю ли я какой-либо вариант.
Комментарии:
1. В блоке кода
@blog.body
должны быть либо строки, начинающиеся с 4 пробелов , либо он должен быть огорожен 3 обратными метками .2. Да, это было именно то, что я сделал, но оно отображалось без пробелов, но я решил проблему, я заметил, что код каждого блока должен находиться на расстоянии не менее двух пробелов от другого текста или абзацев, чтобы соблюдался отступ. пример на первый взгляд. абзац…………… 2 дополнительные пробелы block_code 2 абзаца с дополнительными пробелами….. Я не знаю, почему, но это работает.