Class: Rdt::Mermaid
- Inherits:
-
Object
- Object
- Rdt::Mermaid
- Defined in:
- lib/rdt/mermaid.rb
Class Method Summary collapse
-
.encode_to_editor_url(md) ⇒ Object
does not work.
- .generate_file(chart) ⇒ Object
- .markdown_for(dag) ⇒ Object
Class Method Details
.encode_to_editor_url(md) ⇒ Object
does not work
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rdt/mermaid.rb', line 17 def encode_to_editor_url(md) json = { code: md, mermaid: { theme: "default" }, updateEditor: false, autoSync: true, updateDiagram: false } encoded = Base64.urlsafe_encode64(json.to_json.force_encoding("ASCII")) "https://mermaid.ink/img/#{encoded}" #url = encode_mermaid(diagram) encoded end |
.generate_file(chart) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/rdt/mermaid.rb', line 33 def generate_file(chart) html = " <!DOCTYPE html>\n <html lang=\"en\">\n <body>\n <style>svg { max-width: none; width: 2000px; }</style>\n <pre class=\"mermaid\">\n \#{chart}\n </pre>\n <script type=\"module\">\n import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';\n </script>\n </body>\n </html>\n HTML\n\n begin\n File.write(\"dependencies.html\", html)\n rescue Errno::EACCES => e\n puts \"Failed to write to file: \#{e.message}\"\n end\nend\n" |
.markdown_for(dag) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/rdt/mermaid.rb', line 5 def markdown_for(dag) mermaid = "flowchart LR\n" dag.each do |model, dependencies| mermaid += "#{model}\n" dependencies.each do |dependency| mermaid += "#{dependency} --> #{model}\n" end end mermaid end |