coradoc 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.pryrc.sample +1 -0
- data/lib/coradoc/document.rb +41 -23
- data/lib/coradoc/{document → element}/admonition.rb +1 -1
- data/lib/coradoc/{document → element}/attribute.rb +1 -1
- data/lib/coradoc/element/attribute_list.rb +46 -0
- data/lib/coradoc/element/audio.rb +22 -0
- data/lib/coradoc/element/author.rb +20 -0
- data/lib/coradoc/element/base.rb +17 -0
- data/lib/coradoc/element/block/core.rb +69 -0
- data/lib/coradoc/element/block/example.rb +22 -0
- data/lib/coradoc/element/block/literal.rb +19 -0
- data/lib/coradoc/element/block/quote.rb +19 -0
- data/lib/coradoc/element/block/side.rb +17 -0
- data/lib/coradoc/element/block/sourcecode.rb +20 -0
- data/lib/coradoc/element/block.rb +13 -0
- data/lib/coradoc/element/break.rb +11 -0
- data/lib/coradoc/{document/bibdata.rb → element/document_attributes.rb} +4 -8
- data/lib/coradoc/element/header.rb +20 -0
- data/lib/coradoc/element/image/block_image.rb +12 -0
- data/lib/coradoc/element/image/core.rb +24 -0
- data/lib/coradoc/element/image/inline_image.rb +12 -0
- data/lib/coradoc/element/image.rb +11 -0
- data/lib/coradoc/element/inline/anchor.rb +17 -0
- data/lib/coradoc/element/inline/bold.rb +19 -0
- data/lib/coradoc/element/inline/cross_reference.rb +22 -0
- data/lib/coradoc/element/inline/hard_line_break.rb +11 -0
- data/lib/coradoc/element/inline/highlight.rb +19 -0
- data/lib/coradoc/element/inline/image.rb +25 -0
- data/lib/coradoc/element/inline/italic.rb +19 -0
- data/lib/coradoc/element/inline/link.rb +26 -0
- data/lib/coradoc/element/inline/monospace.rb +19 -0
- data/lib/coradoc/element/inline/quotation.rb +17 -0
- data/lib/coradoc/element/inline/subscript.rb +17 -0
- data/lib/coradoc/element/inline/superscript.rb +17 -0
- data/lib/coradoc/element/inline.rb +19 -0
- data/lib/coradoc/element/list/core.rb +36 -0
- data/lib/coradoc/element/list/definition.rb +8 -0
- data/lib/coradoc/element/list/ordered.rb +15 -0
- data/lib/coradoc/element/list/unordered.rb +15 -0
- data/lib/coradoc/element/list.rb +13 -0
- data/lib/coradoc/element/list_item.rb +19 -0
- data/lib/coradoc/element/paragraph.rb +32 -0
- data/lib/coradoc/element/revision.rb +23 -0
- data/lib/coradoc/element/section.rb +37 -0
- data/lib/coradoc/element/table.rb +67 -0
- data/lib/coradoc/{document → element}/text_element.rb +8 -4
- data/lib/coradoc/element/title.rb +42 -0
- data/lib/coradoc/element/video.rb +23 -0
- data/lib/coradoc/generator.rb +17 -0
- data/lib/coradoc/legacy_parser.rb +8 -8
- data/lib/coradoc/oscal.rb +5 -2
- data/lib/coradoc/parser/asciidoc/base.rb +17 -17
- data/lib/coradoc/parser/asciidoc/content.rb +46 -20
- data/lib/coradoc/parser/asciidoc/{bibdata.rb → document_attributes.rb} +5 -5
- data/lib/coradoc/parser/asciidoc/header.rb +13 -10
- data/lib/coradoc/parser/asciidoc/section.rb +5 -5
- data/lib/coradoc/parser/base.rb +5 -5
- data/lib/coradoc/parser.rb +1 -1
- data/lib/coradoc/transformer.rb +39 -36
- data/lib/coradoc/version.rb +1 -1
- data/lib/coradoc.rb +6 -4
- metadata +55 -21
- data/lib/coradoc/document/author.rb +0 -11
- data/lib/coradoc/document/base.rb +0 -17
- data/lib/coradoc/document/block.rb +0 -34
- data/lib/coradoc/document/header.rb +0 -11
- data/lib/coradoc/document/list.rb +0 -14
- data/lib/coradoc/document/paragraph.rb +0 -19
- data/lib/coradoc/document/revision.rb +0 -11
- data/lib/coradoc/document/section.rb +0 -28
- data/lib/coradoc/document/table.rb +0 -20
- data/lib/coradoc/document/title.rb +0 -33
@@ -1,19 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
module Document
|
3
|
-
class Paragraph
|
4
|
-
attr_reader :content
|
5
|
-
|
6
|
-
def initialize(content, _options = {})
|
7
|
-
@content = content
|
8
|
-
end
|
9
|
-
|
10
|
-
def id
|
11
|
-
content&.first&.id&.to_s
|
12
|
-
end
|
13
|
-
|
14
|
-
def texts
|
15
|
-
content.map(&:content)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
class Document::Section
|
3
|
-
attr_reader :id, :title, :contents, :sections
|
4
|
-
|
5
|
-
def initialize(title, options = {})
|
6
|
-
@title = title
|
7
|
-
@id = options.fetch(:id, nil).to_s
|
8
|
-
@contents = options.fetch(:contents, [])
|
9
|
-
@sections = options.fetch(:sections, [])
|
10
|
-
end
|
11
|
-
|
12
|
-
def glossaries
|
13
|
-
@glossaries ||= extract_glossaries
|
14
|
-
end
|
15
|
-
|
16
|
-
def content
|
17
|
-
if contents.count == 1 && contents.first.is_a?(Coradoc::Document::Paragraph)
|
18
|
-
contents.first
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def extract_glossaries
|
25
|
-
contents.select {|c| c if c.is_a?(Coradoc::Document::Glossaries) }.first
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
module Document
|
3
|
-
class Table
|
4
|
-
attr_reader :title, :rows
|
5
|
-
|
6
|
-
def initialize(title, rows)
|
7
|
-
@rows = rows
|
8
|
-
@title = title
|
9
|
-
end
|
10
|
-
|
11
|
-
class Row
|
12
|
-
attr_reader :columns
|
13
|
-
|
14
|
-
def initialize(columns)
|
15
|
-
@columns = columns
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
module Document
|
3
|
-
class Title
|
4
|
-
attr_reader :id, :content, :line_break
|
5
|
-
|
6
|
-
def initialize(content, level, options = {})
|
7
|
-
@level_str = level
|
8
|
-
@content = content.to_s
|
9
|
-
@id = options.fetch(:id, nil).to_s
|
10
|
-
@line_break = options.fetch(:line_break, "")
|
11
|
-
end
|
12
|
-
|
13
|
-
def level
|
14
|
-
@level ||= level_from_string
|
15
|
-
end
|
16
|
-
|
17
|
-
alias :text :content
|
18
|
-
|
19
|
-
private
|
20
|
-
|
21
|
-
attr_reader :level_str
|
22
|
-
|
23
|
-
def level_from_string
|
24
|
-
case @level_str.length
|
25
|
-
when 2 then :heading_two
|
26
|
-
when 3 then :heading_three
|
27
|
-
when 4 then :heading_four
|
28
|
-
else :unknown
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|