coradoc-adoc 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/lib/coradoc/asciidoc/model/admonition.rb +37 -0
- data/lib/coradoc/asciidoc/model/anchorable.rb +64 -0
- data/lib/coradoc/asciidoc/model/attached.rb +26 -0
- data/lib/coradoc/asciidoc/model/attribute.rb +22 -0
- data/lib/coradoc/asciidoc/model/attribute_list/matchers.rb +45 -0
- data/lib/coradoc/asciidoc/model/attribute_list.rb +230 -0
- data/lib/coradoc/asciidoc/model/attribute_list_attribute.rb +11 -0
- data/lib/coradoc/asciidoc/model/audio.rb +44 -0
- data/lib/coradoc/asciidoc/model/author.rb +36 -0
- data/lib/coradoc/asciidoc/model/base.rb +141 -0
- data/lib/coradoc/asciidoc/model/bibliography.rb +37 -0
- data/lib/coradoc/asciidoc/model/bibliography_entry.rb +38 -0
- data/lib/coradoc/asciidoc/model/block/core.rb +139 -0
- data/lib/coradoc/asciidoc/model/block/example.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/listing.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/literal.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/open.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/pass.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/quote.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/reviewer_comment.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/side.rb +14 -0
- data/lib/coradoc/asciidoc/model/block/source_code.rb +14 -0
- data/lib/coradoc/asciidoc/model/block.rb +21 -0
- data/lib/coradoc/asciidoc/model/break.rb +33 -0
- data/lib/coradoc/asciidoc/model/comment_block.rb +33 -0
- data/lib/coradoc/asciidoc/model/comment_line.rb +30 -0
- data/lib/coradoc/asciidoc/model/content_list.rb +334 -0
- data/lib/coradoc/asciidoc/model/document.rb +197 -0
- data/lib/coradoc/asciidoc/model/document_attributes.rb +43 -0
- data/lib/coradoc/asciidoc/model/glossaries.rb +11 -0
- data/lib/coradoc/asciidoc/model/header.rb +57 -0
- data/lib/coradoc/asciidoc/model/highlight.rb +11 -0
- data/lib/coradoc/asciidoc/model/image/block_image/attribute_list.rb +23 -0
- data/lib/coradoc/asciidoc/model/image/block_image.rb +25 -0
- data/lib/coradoc/asciidoc/model/image/core/attribute_list.rb +43 -0
- data/lib/coradoc/asciidoc/model/image/core.rb +72 -0
- data/lib/coradoc/asciidoc/model/image/inline_image.rb +17 -0
- data/lib/coradoc/asciidoc/model/image.rb +14 -0
- data/lib/coradoc/asciidoc/model/include.rb +66 -0
- data/lib/coradoc/asciidoc/model/inline/anchor.rb +41 -0
- data/lib/coradoc/asciidoc/model/inline/attribute_reference.rb +25 -0
- data/lib/coradoc/asciidoc/model/inline/base.rb +15 -0
- data/lib/coradoc/asciidoc/model/inline/bold.rb +38 -0
- data/lib/coradoc/asciidoc/model/inline/cross_reference.rb +29 -0
- data/lib/coradoc/asciidoc/model/inline/cross_reference_arg.rb +15 -0
- data/lib/coradoc/asciidoc/model/inline/footnote.rb +34 -0
- data/lib/coradoc/asciidoc/model/inline/hard_line_break.rb +24 -0
- data/lib/coradoc/asciidoc/model/inline/highlight.rb +36 -0
- data/lib/coradoc/asciidoc/model/inline/italic.rb +38 -0
- data/lib/coradoc/asciidoc/model/inline/link.rb +46 -0
- data/lib/coradoc/asciidoc/model/inline/monospace.rb +39 -0
- data/lib/coradoc/asciidoc/model/inline/quotation.rb +25 -0
- data/lib/coradoc/asciidoc/model/inline/small.rb +25 -0
- data/lib/coradoc/asciidoc/model/inline/span.rb +38 -0
- data/lib/coradoc/asciidoc/model/inline/stem.rb +24 -0
- data/lib/coradoc/asciidoc/model/inline/strikethrough.rb +39 -0
- data/lib/coradoc/asciidoc/model/inline/subscript.rb +33 -0
- data/lib/coradoc/asciidoc/model/inline/superscript.rb +33 -0
- data/lib/coradoc/asciidoc/model/inline/underline.rb +25 -0
- data/lib/coradoc/asciidoc/model/inline.rb +31 -0
- data/lib/coradoc/asciidoc/model/line_break.rb +11 -0
- data/lib/coradoc/asciidoc/model/list/core.rb +61 -0
- data/lib/coradoc/asciidoc/model/list/definition.rb +27 -0
- data/lib/coradoc/asciidoc/model/list/definition_item.rb +43 -0
- data/lib/coradoc/asciidoc/model/list/item.rb +72 -0
- data/lib/coradoc/asciidoc/model/list/nestable.rb +14 -0
- data/lib/coradoc/asciidoc/model/list/ordered.rb +34 -0
- data/lib/coradoc/asciidoc/model/list/unordered.rb +34 -0
- data/lib/coradoc/asciidoc/model/list.rb +29 -0
- data/lib/coradoc/asciidoc/model/named_attribute.rb +12 -0
- data/lib/coradoc/asciidoc/model/paragraph.rb +59 -0
- data/lib/coradoc/asciidoc/model/rejected_positional_attribute.rb +12 -0
- data/lib/coradoc/asciidoc/model/resolvable.rb +71 -0
- data/lib/coradoc/asciidoc/model/resolver.rb +430 -0
- data/lib/coradoc/asciidoc/model/reviewer_note.rb +54 -0
- data/lib/coradoc/asciidoc/model/revision.rb +47 -0
- data/lib/coradoc/asciidoc/model/section.rb +109 -0
- data/lib/coradoc/asciidoc/model/serialization/asciidoc_adapter.rb +28 -0
- data/lib/coradoc/asciidoc/model/serialization/asciidoc_mapping.rb +42 -0
- data/lib/coradoc/asciidoc/model/serialization/asciidoc_mapping_rule.rb +41 -0
- data/lib/coradoc/asciidoc/model/serialization/asciidoc_transform.rb +211 -0
- data/lib/coradoc/asciidoc/model/serialization/errors.rb +57 -0
- data/lib/coradoc/asciidoc/model/serialization.rb +39 -0
- data/lib/coradoc/asciidoc/model/spacing.rb +282 -0
- data/lib/coradoc/asciidoc/model/table.rb +44 -0
- data/lib/coradoc/asciidoc/model/table_cell.rb +122 -0
- data/lib/coradoc/asciidoc/model/table_row.rb +26 -0
- data/lib/coradoc/asciidoc/model/tag.rb +36 -0
- data/lib/coradoc/asciidoc/model/term.rb +48 -0
- data/lib/coradoc/asciidoc/model/text_element.rb +66 -0
- data/lib/coradoc/asciidoc/model/title.rb +85 -0
- data/lib/coradoc/asciidoc/model/video/attribute_list.rb +43 -0
- data/lib/coradoc/asciidoc/model/video.rb +49 -0
- data/lib/coradoc/asciidoc/model.rb +75 -0
- data/lib/coradoc/asciidoc/parse_error.rb +161 -0
- data/lib/coradoc/asciidoc/parser/admonition.rb +26 -0
- data/lib/coradoc/asciidoc/parser/attribute_list.rb +110 -0
- data/lib/coradoc/asciidoc/parser/base.rb +159 -0
- data/lib/coradoc/asciidoc/parser/bibliography.rb +31 -0
- data/lib/coradoc/asciidoc/parser/block.rb +186 -0
- data/lib/coradoc/asciidoc/parser/block_assembler.rb +183 -0
- data/lib/coradoc/asciidoc/parser/cache.rb +155 -0
- data/lib/coradoc/asciidoc/parser/citation.rb +32 -0
- data/lib/coradoc/asciidoc/parser/content.rb +76 -0
- data/lib/coradoc/asciidoc/parser/document_attributes.rb +27 -0
- data/lib/coradoc/asciidoc/parser/fix_files.rb +76 -0
- data/lib/coradoc/asciidoc/parser/header.rb +31 -0
- data/lib/coradoc/asciidoc/parser/inline.rb +199 -0
- data/lib/coradoc/asciidoc/parser/list.rb +130 -0
- data/lib/coradoc/asciidoc/parser/metadata_detector.rb +164 -0
- data/lib/coradoc/asciidoc/parser/paragraph.rb +64 -0
- data/lib/coradoc/asciidoc/parser/section.rb +62 -0
- data/lib/coradoc/asciidoc/parser/stem.rb +19 -0
- data/lib/coradoc/asciidoc/parser/table.rb +166 -0
- data/lib/coradoc/asciidoc/parser/term.rb +70 -0
- data/lib/coradoc/asciidoc/parser/text.rb +156 -0
- data/lib/coradoc/asciidoc/parser.rb +10 -0
- data/lib/coradoc/asciidoc/serializer/adoc_serializer.rb +86 -0
- data/lib/coradoc/asciidoc/serializer/element_registry.rb +95 -0
- data/lib/coradoc/asciidoc/serializer/fallback_serializer.rb +21 -0
- data/lib/coradoc/asciidoc/serializer/formatter.rb +144 -0
- data/lib/coradoc/asciidoc/serializer/registrations.rb +108 -0
- data/lib/coradoc/asciidoc/serializer/serialization_context.rb +238 -0
- data/lib/coradoc/asciidoc/serializer/serializers/admonition.rb +19 -0
- data/lib/coradoc/asciidoc/serializer/serializers/attribute.rb +23 -0
- data/lib/coradoc/asciidoc/serializer/serializers/attribute_list.rb +40 -0
- data/lib/coradoc/asciidoc/serializer/serializers/attribute_list_attribute.rb +18 -0
- data/lib/coradoc/asciidoc/serializer/serializers/audio.rb +33 -0
- data/lib/coradoc/asciidoc/serializer/serializers/author.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/base.rb +152 -0
- data/lib/coradoc/asciidoc/serializer/serializers/bibliography.rb +35 -0
- data/lib/coradoc/asciidoc/serializer/serializers/bibliography_entry.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/core.rb +70 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/example.rb +17 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/listing.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/literal.rb +17 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/open.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/pass.rb +17 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/quote.rb +17 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/reviewer_comment.rb +17 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/side.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block/source_code.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/block.rb +23 -0
- data/lib/coradoc/asciidoc/serializer/serializers/break.rb +18 -0
- data/lib/coradoc/asciidoc/serializer/serializers/comment_block.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/comment_line.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/document.rb +65 -0
- data/lib/coradoc/asciidoc/serializer/serializers/document_attributes.rb +21 -0
- data/lib/coradoc/asciidoc/serializer/serializers/header.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/highlight.rb +23 -0
- data/lib/coradoc/asciidoc/serializer/serializers/image/core.rb +30 -0
- data/lib/coradoc/asciidoc/serializer/serializers/image.rb +14 -0
- data/lib/coradoc/asciidoc/serializer/serializers/include.rb +19 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/anchor.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/attribute_reference.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/bold.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/cross_reference.rb +30 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/cross_reference_arg.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/footnote.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/hard_line_break.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/highlight.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/italic.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/link.rb +38 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/monospace.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/quotation.rb +21 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/small.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/span.rb +35 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/stem.rb +23 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/strikethrough.rb +29 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/subscript.rb +29 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/superscript.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline/underline.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/inline.rb +32 -0
- data/lib/coradoc/asciidoc/serializer/serializers/line_break.rb +18 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/core.rb +47 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/definition.rb +35 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/definition_item.rb +38 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/item.rb +120 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/ordered.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list/unordered.rb +29 -0
- data/lib/coradoc/asciidoc/serializer/serializers/list.rb +19 -0
- data/lib/coradoc/asciidoc/serializer/serializers/named_attribute.rb +22 -0
- data/lib/coradoc/asciidoc/serializer/serializers/paragraph.rb +65 -0
- data/lib/coradoc/asciidoc/serializer/serializers/reviewer_note.rb +28 -0
- data/lib/coradoc/asciidoc/serializer/serializers/revision.rb +26 -0
- data/lib/coradoc/asciidoc/serializer/serializers/section.rb +37 -0
- data/lib/coradoc/asciidoc/serializer/serializers/table.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/table_cell.rb +75 -0
- data/lib/coradoc/asciidoc/serializer/serializers/table_row.rb +24 -0
- data/lib/coradoc/asciidoc/serializer/serializers/tag.rb +19 -0
- data/lib/coradoc/asciidoc/serializer/serializers/term.rb +20 -0
- data/lib/coradoc/asciidoc/serializer/serializers/text_element.rb +23 -0
- data/lib/coradoc/asciidoc/serializer/serializers/title.rb +55 -0
- data/lib/coradoc/asciidoc/serializer/serializers/video.rb +33 -0
- data/lib/coradoc/asciidoc/serializer/spacing_strategy.rb +70 -0
- data/lib/coradoc/asciidoc/serializer.rb +75 -0
- data/lib/coradoc/asciidoc/transform/from_core_model.rb +502 -0
- data/lib/coradoc/asciidoc/transform/from_core_model_registrations.rb +126 -0
- data/lib/coradoc/asciidoc/transform/registry.rb +146 -0
- data/lib/coradoc/asciidoc/transform/to_core_model.rb +564 -0
- data/lib/coradoc/asciidoc/transform/to_core_model_registrations.rb +257 -0
- data/lib/coradoc/asciidoc/transform.rb +13 -0
- data/lib/coradoc/asciidoc/transformer/block_rules.rb +101 -0
- data/lib/coradoc/asciidoc/transformer/header_rules.rb +91 -0
- data/lib/coradoc/asciidoc/transformer/inline_rules.rb +179 -0
- data/lib/coradoc/asciidoc/transformer/list_rules.rb +131 -0
- data/lib/coradoc/asciidoc/transformer/misc_rules.rb +196 -0
- data/lib/coradoc/asciidoc/transformer/structural_rules.rb +216 -0
- data/lib/coradoc/asciidoc/transformer/text_rules.rb +107 -0
- data/lib/coradoc/asciidoc/transformer.rb +406 -0
- data/lib/coradoc/asciidoc/version.rb +7 -0
- data/lib/coradoc/asciidoc.rb +148 -0
- data/lib/coradoc/util/asciidoc.rb +71 -0
- data/lib/coradoc/util.rb +8 -0
- metadata +343 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for Italic inline formatting
|
|
9
|
+
class Italic < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content)
|
|
12
|
+
content = Coradoc::Util::AsciiDoc.escape_characters(content, escape_chars: ['_'])
|
|
13
|
+
|
|
14
|
+
return '' if content.empty?
|
|
15
|
+
|
|
16
|
+
model.unconstrained ? "__#{content}__" : "_#{content}_"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Self-register this serializer
|
|
22
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Italic, Inline::Italic)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'uri'
|
|
4
|
+
|
|
5
|
+
module Coradoc
|
|
6
|
+
module AsciiDoc
|
|
7
|
+
module Serializer
|
|
8
|
+
module Serializers
|
|
9
|
+
module Inline
|
|
10
|
+
class Link < Base
|
|
11
|
+
def to_adoc(model, _options = {})
|
|
12
|
+
link = model.path.dup
|
|
13
|
+
link = "link:#{link}" unless model.path&.match?(URI::DEFAULT_PARSER.make_regexp)
|
|
14
|
+
|
|
15
|
+
name_empty = model.name.nil? || model.name.empty?
|
|
16
|
+
title_empty = model.title.nil? || model.title.empty?
|
|
17
|
+
valid_empty_name_link = link.start_with?(%r{https?://})
|
|
18
|
+
|
|
19
|
+
link << if name_empty && !title_empty
|
|
20
|
+
"[#{model.title}]"
|
|
21
|
+
elsif !name_empty
|
|
22
|
+
"[#{model.name}]"
|
|
23
|
+
elsif valid_empty_name_link && !model.right_constrain
|
|
24
|
+
''
|
|
25
|
+
else
|
|
26
|
+
'[]'
|
|
27
|
+
end
|
|
28
|
+
link
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Self-register this serializer
|
|
34
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Link, Inline::Link)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for Monospace inline formatting
|
|
9
|
+
class Monospace < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content)
|
|
12
|
+
content = Coradoc::Util::AsciiDoc.escape_characters(content, escape_chars: ['`'])
|
|
13
|
+
|
|
14
|
+
return '' if content.empty?
|
|
15
|
+
|
|
16
|
+
model.unconstrained ? "``#{content}``" : "`#{content}`"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Self-register this serializer
|
|
22
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Monospace, Inline::Monospace)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
class Quotation < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
_content = serialize_content(model.content)
|
|
11
|
+
"#{_content[/^\s*/]}\"#{_content.strip}\"#{_content[/(?<!\s)\s*+$/]}"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Self-register this serializer
|
|
17
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Quotation, Inline::Quotation)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
class Small < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
"[.small]##{model.text}#"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Self-register this serializer
|
|
16
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Small, Inline::Small)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
class Span < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
if model.attributes
|
|
11
|
+
attr_string = model.attributes.to_adoc
|
|
12
|
+
if model.unconstrained
|
|
13
|
+
"#{attr_string}###{model.text}##"
|
|
14
|
+
else
|
|
15
|
+
"#{attr_string}##{model.text}#"
|
|
16
|
+
end
|
|
17
|
+
elsif model.role
|
|
18
|
+
if model.unconstrained
|
|
19
|
+
"[.#{model.role}]###{model.text}##"
|
|
20
|
+
else
|
|
21
|
+
"[.#{model.role}]##{model.text}#"
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
model.text.to_s
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Self-register this serializer
|
|
31
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Span, Inline::Span)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for STEM inline formulas
|
|
9
|
+
class Stem < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content)
|
|
12
|
+
type = model.type || 'stem'
|
|
13
|
+
"#{type}:[#{content}]"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Self-register this serializer
|
|
19
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Stem, Inline::Stem)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for Strikethrough inline formatting
|
|
9
|
+
class Strikethrough < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content || model.text)
|
|
12
|
+
|
|
13
|
+
return '' if content.empty?
|
|
14
|
+
|
|
15
|
+
if model.unconstrained
|
|
16
|
+
"[.line-through]#[.line-through]##{content}[.line-through]#[.line-through]#"
|
|
17
|
+
else
|
|
18
|
+
"[.line-through]##{content}#"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Self-register this serializer
|
|
26
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Strikethrough, Serializers::Inline::Strikethrough)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for Subscript inline formatting
|
|
9
|
+
class Subscript < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content)
|
|
12
|
+
content = Coradoc::Util::AsciiDoc.escape_characters(
|
|
13
|
+
content,
|
|
14
|
+
pass_through: %w[~]
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
return '' if content.empty?
|
|
18
|
+
|
|
19
|
+
"~#{content}~"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Self-register this serializer
|
|
25
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Subscript, Inline::Subscript)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
# Serializer for Superscript inline formatting
|
|
9
|
+
class Superscript < Base
|
|
10
|
+
def to_adoc(model, _options = {})
|
|
11
|
+
content = serialize_content(model.content)
|
|
12
|
+
# Superscript uses ^ delimiters, no need to escape
|
|
13
|
+
|
|
14
|
+
return '' if content.empty?
|
|
15
|
+
|
|
16
|
+
"^#{content}^"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Self-register this serializer
|
|
22
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Superscript, Inline::Superscript)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module Inline
|
|
8
|
+
class Underline < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
"[.underline]##{model.text}#"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Self-register this serializer
|
|
16
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::Inline::Underline, Inline::Underline)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
# Autoload inline serializers
|
|
8
|
+
module Inline
|
|
9
|
+
autoload :Anchor, 'coradoc/asciidoc/serializer/serializers/inline/anchor'
|
|
10
|
+
autoload :AttributeReference, 'coradoc/asciidoc/serializer/serializers/inline/attribute_reference'
|
|
11
|
+
autoload :Bold, 'coradoc/asciidoc/serializer/serializers/inline/bold'
|
|
12
|
+
autoload :CrossReference, 'coradoc/asciidoc/serializer/serializers/inline/cross_reference'
|
|
13
|
+
autoload :CrossReferenceArg, 'coradoc/asciidoc/serializer/serializers/inline/cross_reference_arg'
|
|
14
|
+
autoload :Footnote, 'coradoc/asciidoc/serializer/serializers/inline/footnote'
|
|
15
|
+
autoload :HardLineBreak, 'coradoc/asciidoc/serializer/serializers/inline/hard_line_break'
|
|
16
|
+
autoload :Highlight, 'coradoc/asciidoc/serializer/serializers/inline/highlight'
|
|
17
|
+
autoload :Italic, 'coradoc/asciidoc/serializer/serializers/inline/italic'
|
|
18
|
+
autoload :Link, 'coradoc/asciidoc/serializer/serializers/inline/link'
|
|
19
|
+
autoload :Monospace, 'coradoc/asciidoc/serializer/serializers/inline/monospace'
|
|
20
|
+
autoload :Quotation, 'coradoc/asciidoc/serializer/serializers/inline/quotation'
|
|
21
|
+
autoload :Small, 'coradoc/asciidoc/serializer/serializers/inline/small'
|
|
22
|
+
autoload :Span, 'coradoc/asciidoc/serializer/serializers/inline/span'
|
|
23
|
+
autoload :Stem, 'coradoc/asciidoc/serializer/serializers/inline/stem'
|
|
24
|
+
autoload :Strikethrough, 'coradoc/asciidoc/serializer/serializers/inline/strikethrough'
|
|
25
|
+
autoload :Subscript, 'coradoc/asciidoc/serializer/serializers/inline/subscript'
|
|
26
|
+
autoload :Superscript, 'coradoc/asciidoc/serializer/serializers/inline/superscript'
|
|
27
|
+
autoload :Underline, 'coradoc/asciidoc/serializer/serializers/inline/underline'
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
class LineBreak < Base
|
|
8
|
+
def to_adoc(model, _options = {})
|
|
9
|
+
model.line_break
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Self-register this serializer
|
|
15
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::LineBreak, Serializers::LineBreak)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class Core < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
@model = model
|
|
11
|
+
_anchor = @model.anchor.nil? ? '' : serialize_child(@model.anchor).to_s
|
|
12
|
+
_attrs = @model.attrs.to_adoc(show_empty: false).to_s
|
|
13
|
+
content = +"\n"
|
|
14
|
+
|
|
15
|
+
@model.items.each do |item|
|
|
16
|
+
c = serialize_child(item)
|
|
17
|
+
next if c.empty?
|
|
18
|
+
|
|
19
|
+
# If there's a list inside a list directly, we want to
|
|
20
|
+
# skip adding an empty list item.
|
|
21
|
+
# See: https://github.com/metanorma/coradoc/issues/96
|
|
22
|
+
unless item.is_a?(Coradoc::AsciiDoc::Model::List::Core)
|
|
23
|
+
# Use item's own marker if available, otherwise fall back to list prefix
|
|
24
|
+
item_marker = item.marker || prefix
|
|
25
|
+
content << item_marker.to_s
|
|
26
|
+
content << ' ' if c[0] != ' '
|
|
27
|
+
end
|
|
28
|
+
content << c
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
"\n#{_anchor}#{_attrs}" + content
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def prefix
|
|
37
|
+
@model.prefix
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Self-register this serializer
|
|
43
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::Core, List::Core)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class Definition < Base
|
|
9
|
+
def to_adoc(model, _options = {})
|
|
10
|
+
@model = model
|
|
11
|
+
content = +"\n"
|
|
12
|
+
@model.items.each do |item|
|
|
13
|
+
# Pass delimiter to item serialization
|
|
14
|
+
serialized = serialize_child_with_options(item, delimiter: @model.delimiter)
|
|
15
|
+
content << serialized
|
|
16
|
+
end
|
|
17
|
+
content
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def serialize_child_with_options(child, options = {})
|
|
23
|
+
serializer_class = ElementRegistry.lookup(child.class)
|
|
24
|
+
serializer = serializer_class.new
|
|
25
|
+
serializer.to_adoc(child, options)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Self-register this serializer
|
|
31
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::Definition, List::Definition)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class DefinitionItem < Base
|
|
9
|
+
def to_adoc(model, options_or_context = {})
|
|
10
|
+
context = normalize_context(options_or_context)
|
|
11
|
+
delimiter = context.option(:delimiter, '')
|
|
12
|
+
_anchor = model.anchor.nil? ? '' : serialize_child(model.anchor, context)
|
|
13
|
+
content = +''
|
|
14
|
+
|
|
15
|
+
if model.terms && model.terms.size == 1
|
|
16
|
+
t = serialize_child(model.terms.first, context)
|
|
17
|
+
content << "#{_anchor}#{t}#{delimiter} "
|
|
18
|
+
elsif model.terms && model.terms.size > 1
|
|
19
|
+
# NOTE: When multiple terms exist, anchors are rendered on each term line
|
|
20
|
+
# separately. Single term anchors are inlined with the definition.
|
|
21
|
+
model.terms.each do |term|
|
|
22
|
+
t = serialize_child(term, context)
|
|
23
|
+
content << "#{t}#{delimiter}\n"
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
d = model.contents ? serialize_children(model.contents, context) : ''
|
|
28
|
+
content << "#{d}\n"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Self-register this serializer
|
|
34
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::DefinitionItem, List::DefinitionItem)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class Item < Base
|
|
9
|
+
HARDBREAK_MARKERS = %i[hardbreak init].freeze
|
|
10
|
+
STRIP_UNICODE_BEGIN_MARKERS = (HARDBREAK_MARKERS.dup + [false]).freeze
|
|
11
|
+
STRIP_UNICODE_END_MARKERS = [:hardbreak, :end, false].freeze
|
|
12
|
+
|
|
13
|
+
def to_adoc(model, _options = {})
|
|
14
|
+
@model = model
|
|
15
|
+
_anchor = gen_anchor(inline: true)
|
|
16
|
+
_content = Array(model.content).dup.flatten.compact
|
|
17
|
+
out = ''
|
|
18
|
+
prev_inline = :init
|
|
19
|
+
|
|
20
|
+
# Collapse meaningless <DIV>s
|
|
21
|
+
while _content.map(&:class) == [Coradoc::AsciiDoc::Model::Section] &&
|
|
22
|
+
_content.first.safe_to_collapse?
|
|
23
|
+
|
|
24
|
+
_content = Array(_content.first.contents)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
_content.each_with_index do |subitem, idx|
|
|
28
|
+
subcontent = case subitem
|
|
29
|
+
when String
|
|
30
|
+
subitem
|
|
31
|
+
when Coradoc::AsciiDoc::Model::Base, Lutaml::Model::Serializable
|
|
32
|
+
subitem.to_adoc
|
|
33
|
+
else
|
|
34
|
+
raise ArgumentError,
|
|
35
|
+
"Cannot serialize list item content of type #{subitem.class.name}. " \
|
|
36
|
+
'Expected String, Coradoc::AsciiDoc::Model::Base, or ' \
|
|
37
|
+
"Lutaml::Model::Serializable. Got: #{subitem.inspect[0..100]}"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
inline = inline?(subitem)
|
|
41
|
+
next_inline = idx + 1 == _content.length ? :end : inline?(_content[idx + 1])
|
|
42
|
+
|
|
43
|
+
# Only try to postprocess elements that are text,
|
|
44
|
+
# otherwise we could strip markup.
|
|
45
|
+
if subitem.is_a?(Coradoc::AsciiDoc::Model::TextElement)
|
|
46
|
+
if STRIP_UNICODE_BEGIN_MARKERS.include?(prev_inline)
|
|
47
|
+
subcontent = Coradoc.strip_unicode(subcontent,
|
|
48
|
+
only: :begin)
|
|
49
|
+
end
|
|
50
|
+
if STRIP_UNICODE_END_MARKERS.include?(next_inline)
|
|
51
|
+
subcontent = Coradoc.strip_unicode(subcontent,
|
|
52
|
+
only: :end)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
case inline
|
|
57
|
+
when true
|
|
58
|
+
out += if prev_inline == false
|
|
59
|
+
"\n+\n#{subcontent}"
|
|
60
|
+
else
|
|
61
|
+
subcontent
|
|
62
|
+
end
|
|
63
|
+
when false
|
|
64
|
+
out += case prev_inline
|
|
65
|
+
when :hardbreak
|
|
66
|
+
subcontent.strip
|
|
67
|
+
when :init
|
|
68
|
+
"{empty}\n+\n#{subcontent.strip}"
|
|
69
|
+
else
|
|
70
|
+
"\n+\n#{subcontent.strip}"
|
|
71
|
+
end
|
|
72
|
+
when :hardbreak
|
|
73
|
+
if HARDBREAK_MARKERS.include?(prev_inline)
|
|
74
|
+
# can't have two hard breaks in a row
|
|
75
|
+
# can't start with a hard break
|
|
76
|
+
else
|
|
77
|
+
out += "\n+\n"
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
prev_inline = inline
|
|
82
|
+
end
|
|
83
|
+
out += '{empty}' if prev_inline == :hardbreak
|
|
84
|
+
out = '{empty}' if out.empty?
|
|
85
|
+
|
|
86
|
+
attach = model.attached.map do |elem|
|
|
87
|
+
"+\n#{elem.to_adoc}"
|
|
88
|
+
end.join
|
|
89
|
+
nest = model.nested.nil? || (model.nested.is_a?(Array) && model.nested.empty?) ? '' : model.nested.to_adoc
|
|
90
|
+
out = " #{_anchor}#{out}#{model.line_break}"
|
|
91
|
+
out + attach + nest
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
private
|
|
95
|
+
|
|
96
|
+
def inline?(elem)
|
|
97
|
+
return true if elem.is_a?(String)
|
|
98
|
+
return false unless elem.is_a?(Coradoc::AsciiDoc::Model::Base)
|
|
99
|
+
|
|
100
|
+
elem.inline?
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def gen_anchor(inline: false)
|
|
104
|
+
return '' unless @model.anchor
|
|
105
|
+
|
|
106
|
+
if inline
|
|
107
|
+
@model.anchor.to_adoc.to_s
|
|
108
|
+
else
|
|
109
|
+
"#{@model.anchor.to_adoc}\n"
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Self-register this serializer
|
|
116
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::Item, List::Item)
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class Ordered < Core
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
def prefix
|
|
12
|
+
return @model.marker if @model.marker
|
|
13
|
+
|
|
14
|
+
'.' * [@model.ol_count, 1].max
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Self-register this serializer
|
|
20
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::Ordered, List::Ordered)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
module List
|
|
8
|
+
class Unordered < Core
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
def prefix
|
|
12
|
+
# Use the marker from the first list item if available
|
|
13
|
+
return @model.items.first.marker if @model.items.first&.marker
|
|
14
|
+
|
|
15
|
+
# Otherwise use the list-level marker if set
|
|
16
|
+
return @model.marker if @model.marker
|
|
17
|
+
|
|
18
|
+
# Default to asterisk markers
|
|
19
|
+
'*' * [@model.ol_count, 1].max
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Self-register this serializer
|
|
25
|
+
ElementRegistry.register(Coradoc::AsciiDoc::Model::List::Unordered, List::Unordered)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coradoc
|
|
4
|
+
module AsciiDoc
|
|
5
|
+
module Serializer
|
|
6
|
+
module Serializers
|
|
7
|
+
# Autoload list serializers
|
|
8
|
+
module List
|
|
9
|
+
autoload :Core, 'coradoc/asciidoc/serializer/serializers/list/core'
|
|
10
|
+
autoload :Definition, 'coradoc/asciidoc/serializer/serializers/list/definition'
|
|
11
|
+
autoload :DefinitionItem, 'coradoc/asciidoc/serializer/serializers/list/definition_item'
|
|
12
|
+
autoload :Item, 'coradoc/asciidoc/serializer/serializers/list/item'
|
|
13
|
+
autoload :Ordered, 'coradoc/asciidoc/serializer/serializers/list/ordered'
|
|
14
|
+
autoload :Unordered, 'coradoc/asciidoc/serializer/serializers/list/unordered'
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|