blob: fb21778a10284ab4606a1757d9ae9a9a140e9daa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# frozen_string_literal: true
class ConvertMermaidHtml < Nanoc::Filter
identifier :convert_mermaid_html
MERMAID_HTML_PATTERN = %r{<div\ class="mermaid">(?<mermaid_content>.*?)</div>}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('"', '"')
%(<div class="mermaid">#{fixed_content}</div>)
end
end
|