2018-12-13 13:39:08 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-27 19:54:05 +05:30
|
|
|
# `Redcarpet` markdown engine for GitLab's Banzai markdown filter.
|
|
|
|
# This module is used in Banzai::Filter::MarkdownFilter.
|
|
|
|
# Used gem is `redcarpet` which is a ruby library for markdown processing.
|
|
|
|
# Homepage: https://github.com/vmg/redcarpet
|
|
|
|
|
|
|
|
module Banzai
|
|
|
|
module Filter
|
|
|
|
module MarkdownEngines
|
|
|
|
class Redcarpet
|
|
|
|
OPTIONS = {
|
|
|
|
fenced_code_blocks: true,
|
|
|
|
footnotes: true,
|
|
|
|
lax_spacing: true,
|
|
|
|
no_intra_emphasis: true,
|
|
|
|
space_after_headers: true,
|
|
|
|
strikethrough: true,
|
|
|
|
superscript: true,
|
|
|
|
tables: true
|
|
|
|
}.freeze
|
|
|
|
|
|
|
|
def initialize
|
|
|
|
html_renderer = Banzai::Renderer::Redcarpet::HTML.new
|
|
|
|
@renderer = ::Redcarpet::Markdown.new(html_renderer, OPTIONS)
|
|
|
|
end
|
|
|
|
|
|
|
|
def render(text)
|
|
|
|
@renderer.render(text)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|