Module: Coradoc::Markdown
- Defined in:
- lib/coradoc/markdown.rb,
lib/coradoc/markdown/errors.rb,
lib/coradoc/markdown/parser.rb,
lib/coradoc/markdown/version.rb,
lib/coradoc/markdown/model/base.rb,
lib/coradoc/markdown/model/code.rb,
lib/coradoc/markdown/model/link.rb,
lib/coradoc/markdown/model/list.rb,
lib/coradoc/markdown/model/math.rb,
lib/coradoc/markdown/model/text.rb,
lib/coradoc/markdown/serializer.rb,
lib/coradoc/markdown/model/image.rb,
lib/coradoc/markdown/model/table.rb,
lib/coradoc/markdown/parser_util.rb,
lib/coradoc/markdown/transformer.rb,
lib/coradoc/markdown/model/strong.rb,
lib/coradoc/markdown/model/heading.rb,
lib/coradoc/markdown/toc_generator.rb,
lib/coradoc/markdown/model/document.rb,
lib/coradoc/markdown/model/emphasis.rb,
lib/coradoc/markdown/model/footnote.rb,
lib/coradoc/markdown/model/extension.rb,
lib/coradoc/markdown/model/highlight.rb,
lib/coradoc/markdown/model/list_item.rb,
lib/coradoc/markdown/model/paragraph.rb,
lib/coradoc/markdown/model/subscript.rb,
lib/coradoc/markdown/model/underline.rb,
lib/coradoc/markdown/model/blockquote.rb,
lib/coradoc/markdown/model/code_block.rb,
lib/coradoc/markdown/model/named_value.rb,
lib/coradoc/markdown/model/superscript.rb,
lib/coradoc/markdown/model/abbreviation.rb,
lib/coradoc/markdown/model/strikethrough.rb,
lib/coradoc/markdown/parser/block_parser.rb,
lib/coradoc/markdown/model/attribute_list.rb,
lib/coradoc/markdown/parser/ast_processor.rb,
lib/coradoc/markdown/parser/html_entities.rb,
lib/coradoc/markdown/parser/inline_parser.rb,
lib/coradoc/markdown/model/cross_reference.rb,
lib/coradoc/markdown/model/definition_item.rb,
lib/coradoc/markdown/model/definition_list.rb,
lib/coradoc/markdown/model/definition_term.rb,
lib/coradoc/markdown/model/horizontal_rule.rb,
lib/coradoc/markdown/parser/parslet_extras.rb,
lib/coradoc/markdown/transform/to_core_model.rb,
lib/coradoc/markdown/model/footnote_reference.rb,
lib/coradoc/markdown/transform/from_core_model.rb,
lib/coradoc/markdown/transform/text_extraction.rb
Overview
Markdown document model, parser, and serializer.
Defined Under Namespace
Modules: Errors, Parser, ParserUtil, Transform Classes: Abbreviation, AttributeList, Base, Blockquote, Code, CodeBlock, CrossReference, DefinitionItem, DefinitionList, DefinitionTerm, Document, Emphasis, Extension, Footnote, FootnoteReference, Heading, Highlight, HorizontalRule, Image, Link, List, ListItem, Math, NamedValue, Paragraph, Serializer, Strikethrough, Strong, Subscript, Superscript, Table, Text, TocGenerator, Transformer, Underline
Constant Summary collapse
- VERSION =
'1.0.2'
Class Method Summary collapse
-
.from_core_model(core_document) ⇒ Coradoc::Markdown::Document
Transform CoreModel to Markdown model.
-
.from_file(filename, **options) ⇒ Array
Parse Markdown from a file.
-
.handles_model?(model) ⇒ Boolean
Check if this format can transform the given model to CoreModel.
-
.parse(content, _options = {}) ⇒ Coradoc::Markdown::Document
Parse Markdown content into a Document model.
-
.parse_ast(content) ⇒ Array
Parse raw AST (for debugging).
-
.parse_inline(content) ⇒ Array
Parse inline Markdown content.
-
.parse_to_core(content) ⇒ Coradoc::CoreModel::StructuralElement
Parse and transform to CoreModel in one step.
-
.serialize(document, options = {}) ⇒ String
Serialize a document model to Markdown string.
-
.to_core_model(document) ⇒ Coradoc::CoreModel::StructuralElement
(also: to_core)
Transform Markdown model to CoreModel.
Class Method Details
.from_core_model(core_document) ⇒ Coradoc::Markdown::Document
Transform CoreModel to Markdown model
169 170 171 |
# File 'lib/coradoc/markdown.rb', line 169 def from_core_model(core_document) Transform::FromCoreModel.transform(core_document) end |
.from_file(filename, **options) ⇒ Array
Parse Markdown from a file
117 118 119 120 |
# File 'lib/coradoc/markdown.rb', line 117 def from_file(filename, **) content = File.read(filename) parse(content, **) end |
.handles_model?(model) ⇒ Boolean
Check if this format can transform the given model to CoreModel
143 144 145 |
# File 'lib/coradoc/markdown.rb', line 143 def handles_model?(model) model.is_a?(Coradoc::Markdown::Base) end |
.parse(content, _options = {}) ⇒ Coradoc::Markdown::Document
Parse Markdown content into a Document model
99 100 101 102 |
# File 'lib/coradoc/markdown.rb', line 99 def parse(content, = {}) ast = Parser::BlockParser.new.parse(content) Transformer.transform_document(ast) end |
.parse_ast(content) ⇒ Array
Parse raw AST (for debugging)
108 109 110 |
# File 'lib/coradoc/markdown.rb', line 108 def parse_ast(content) Parser::BlockParser.new.parse(content) end |
.parse_inline(content) ⇒ Array
Parse inline Markdown content
126 127 128 |
# File 'lib/coradoc/markdown.rb', line 126 def parse_inline(content) Parser::InlineParser.new.parse(content) end |
.parse_to_core(content) ⇒ Coradoc::CoreModel::StructuralElement
Parse and transform to CoreModel in one step
160 161 162 163 |
# File 'lib/coradoc/markdown.rb', line 160 def parse_to_core(content) doc = parse(content) to_core_model(doc) end |
.serialize(document, options = {}) ⇒ String
Serialize a document model to Markdown string
135 136 137 |
# File 'lib/coradoc/markdown.rb', line 135 def serialize(document, = {}) Serializer.serialize(document, ) end |
.to_core_model(document) ⇒ Coradoc::CoreModel::StructuralElement Also known as: to_core
Transform Markdown model to CoreModel
151 152 153 |
# File 'lib/coradoc/markdown.rb', line 151 def to_core_model(document) Transform::ToCoreModel.transform(document) end |