Module: Dewasm::Pozeiden
- Defined in:
- lib/dewasm/pozeiden.rb,
lib/dewasm/pozeiden/version.rb,
lib/dewasm/pozeiden/wasm_module.rb
Overview
Mermaid diagram rendering by the pozeiden renderer, compiled to WebAssembly and converted to Ruby by dewasm.
Defined Under Namespace
Classes: Error, RenderResult, WasmModule
Constant Summary collapse
- MAX_INPUT_BYTES =
The input buffer compiled into the WebAssembly module, which is also pozeiden's own
max_input_bytesdefault. 4 * 1024 * 1024
- VERSION =
"0.1.0"- POZEIDEN_VERSION =
The pozeiden revision this gem's WebAssembly module was built from.
"0.4.1 (071fbbb85fb73a06994c163c6093123bd3ac11f6)"
Class Method Summary collapse
-
.detect_diagram_type(text) ⇒ Object
Unrecognised input is
:unknown. -
.render(text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random) ⇒ Object
The SVG is self-contained.
-
.render_with_metadata(text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random) ⇒ Object
The metadata is the diagram type and the accessibility title and description pozeiden extracted from the source.
Class Method Details
.detect_diagram_type(text) ⇒ Object
Unrecognised input is :unknown.
65 66 67 68 |
# File 'lib/dewasm/pozeiden.rb', line 65 def detect_diagram_type(text) instance, = call("detect", text, nil, random: Random) read_text(instance, "meta_diagram_type").to_sym end |
.render(text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random) ⇒ Object
The SVG is self-contained.
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/dewasm/pozeiden.rb', line 30 def render( text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random ) = (strict:, max_width:, max_height:, scale:, theme_override:) instance, length = call("render", text, , random:) read_output(instance, length) end |
.render_with_metadata(text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random) ⇒ Object
The metadata is the diagram type and the accessibility title and description pozeiden extracted from the source.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/dewasm/pozeiden.rb', line 45 def ( text, strict: false, max_width: 0, max_height: 0, scale: 1.0, theme_override: {}, random: Random ) = (strict:, max_width:, max_height:, scale:, theme_override:) instance, length = call("render_with_metadata", text, , random:) RenderResult.new( svg: read_output(instance, length), diagram_type: read_text(instance, "meta_diagram_type").to_sym, title: presence(read_text(instance, "meta_title")), descr: presence(read_text(instance, "meta_descr")) ) end |