# frozen_string_literal: true
class ConvertMermaidHtml < Nanoc::Filter
identifier :convert_mermaid_html
MERMAID_HTML_PATTERN = %r{
(?.*?)
}mx.freeze
def run(content, params = {})
content.gsub(MERMAID_HTML_PATTERN) { generate(Regexp.last_match[:mermaid_content]) }
end
def generate(content)
fixed_content = content
.gsub('&', '&')
.gsub('<', '<')
.gsub('>', '>')
.gsub('"', '"')
%(#{fixed_content}
)
end
end