# 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