Module: Metanorma::Mirror::Output::HtmlRenderers::StructuralRenderers
- Included in:
- Metanorma::Mirror::Output::HtmlRenderer
- Defined in:
- lib/metanorma/mirror/output/html_renderers/structural_renderers.rb
Class Method Summary collapse
Instance Method Summary collapse
- #render_bibliography(node, depth: 0) ⇒ Object
- #render_doc(node, depth: 0) ⇒ Object
- #render_footnotes(node, depth: 0) ⇒ Object
- #render_preface(node, depth: 0) ⇒ Object
- #render_sections(node, depth: 0) ⇒ Object
- #render_soft_break(_node, depth: 0) ⇒ Object
Class Method Details
.register(registry) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 8 def self.register(registry) registry.register_node_handler("doc", instance_method(:render_doc)) registry.register_node_handler("preface", instance_method(:render_preface)) registry.register_node_handler("sections", instance_method(:render_sections)) registry.register_node_handler("bibliography", instance_method(:render_bibliography)) registry.register_node_handler("footnotes", instance_method(:render_footnotes)) registry.register_node_handler("soft_break", instance_method(:render_soft_break)) end |
Instance Method Details
#render_bibliography(node, depth: 0) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 44 def render_bibliography(node, depth: 0) HtmlRenderers.build do |doc| doc.section(class: "mn-bibliography") do HtmlRenderers.(doc, render_children(node, depth:)) end end end |
#render_doc(node, depth: 0) ⇒ Object
22 23 24 25 26 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 22 def render_doc(node, depth: 0) HtmlRenderers.build do |doc| HtmlRenderers.(doc, render_children(node, depth:)) end end |
#render_footnotes(node, depth: 0) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 52 def render_footnotes(node, depth: 0) HtmlRenderers.build do |doc| doc.div(class: "footnotes") do doc.ol do node.content.each do |fn| next unless fn.is_a?(Model::Container) fn_attrs = {} fn_attrs[:id] = fn.attrs["id"] if fn.attrs["id"] doc.li(fn_attrs) do HtmlRenderers.(doc, render_children(fn)) if fn.attrs["ref_id"] doc.a(href: "##{fn.attrs['ref_id']}") { doc.text "↩" } end end end end end end end |
#render_preface(node, depth: 0) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 28 def render_preface(node, depth: 0) HtmlRenderers.build do |doc| doc.section(class: "mn-preface") do HtmlRenderers.(doc, render_children(node, depth:)) end end end |
#render_sections(node, depth: 0) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 36 def render_sections(node, depth: 0) HtmlRenderers.build do |doc| doc.section(class: "mn-sections") do HtmlRenderers.(doc, render_children(node, depth:)) end end end |
#render_soft_break(_node, depth: 0) ⇒ Object
73 74 75 |
# File 'lib/metanorma/mirror/output/html_renderers/structural_renderers.rb', line 73 def render_soft_break(_node, depth: 0) HtmlRenderers.build(&:br) end |