Module: Coradoc::Markdown::Transform::StructuralTransformer
- Defined in:
- lib/coradoc/markdown/transform/structural_transformer.rb
Class Method Summary collapse
- .transform_bibliography(bib) ⇒ Object
- .transform_bibliography_entry(entry) ⇒ Object
- .transform_document(doc) ⇒ Object
- .transform_generic_element(element) ⇒ Object
- .transform_header(header) ⇒ Object
- .transform_preamble(preamble) ⇒ Object
- .transform_section(section) ⇒ Object
- .transform_structural_element(element) ⇒ Object
Class Method Details
.transform_bibliography(bib) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 72 def transform_bibliography(bib) entries = Array(bib.entries).map { |e| FromCoreModel.transform(e) } blocks = [] blocks << Coradoc::Markdown::Heading.new(level: 2, text: bib.title.to_s) if bib.title blocks.concat(entries) Coradoc::Markdown::Document.new(id: bib.id, blocks: blocks) end |
.transform_bibliography_entry(entry) ⇒ Object
80 81 82 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 80 def transform_bibliography_entry(entry) FromCoreModel.transform_bibliography_entry(entry) end |
.transform_document(doc) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 23 def transform_document(doc) blocks = Array(doc.children) .flat_map { |child| FromCoreModel.flatten_transform_result(FromCoreModel.transform(child)) } .compact Coradoc::Markdown::Document.new( id: doc.id, blocks: blocks ) end |
.transform_generic_element(element) ⇒ Object
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 61 def transform_generic_element(element) blocks = Array(element.children) .flat_map { |child| FromCoreModel.flatten_transform_result(FromCoreModel.transform(child)) } .compact Coradoc::Markdown::Document.new( id: element.id, blocks: blocks ) end |
.transform_header(header) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 53 def transform_header(header) level = header.level || 1 Coradoc::Markdown::Heading.new( level: level, text: header.title.to_s ) end |
.transform_preamble(preamble) ⇒ Object
47 48 49 50 51 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 47 def transform_preamble(preamble) Array(preamble.children) .flat_map { |child| FromCoreModel.flatten_transform_result(FromCoreModel.transform(child)) } .compact end |
.transform_section(section) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 34 def transform_section(section) blocks = [] blocks << Coradoc::Markdown::Heading.new( level: section.level || 1, text: section.title.to_s ) child_blocks = Array(section.children) .flat_map { |child| FromCoreModel.flatten_transform_result(FromCoreModel.transform(child)) } .compact blocks.concat(child_blocks) blocks end |
.transform_structural_element(element) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/coradoc/markdown/transform/structural_transformer.rb', line 8 def transform_structural_element(element) case element when CoreModel::DocumentElement transform_document(element) when CoreModel::SectionElement transform_section(element) when CoreModel::PreambleElement transform_preamble(element) when CoreModel::HeaderElement transform_header(element) else transform_generic_element(element) end end |