coradoc 0.1.0 → 0.2.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 +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
@@ -5,7 +5,8 @@ module Coradoc
|
|
5
5
|
include Coradoc::Parser::Asciidoc::Base
|
6
6
|
|
7
7
|
def paragraph
|
8
|
-
|
8
|
+
paragraph_meta.as(:meta).maybe >>
|
9
|
+
text_line.repeat(1).as(:lines)
|
9
10
|
end
|
10
11
|
|
11
12
|
def glossaries
|
@@ -14,13 +15,13 @@ module Coradoc
|
|
14
15
|
|
15
16
|
# List
|
16
17
|
def list
|
17
|
-
|
18
|
-
definition_list.as(:definition) |
|
18
|
+
unordered_list.as(:unordered) |
|
19
|
+
definition_list.as(:definition) | ordered_list.as(:ordered)
|
19
20
|
end
|
20
21
|
|
21
22
|
def contents
|
22
23
|
(
|
23
|
-
|
24
|
+
block.as(:block) |
|
24
25
|
list.as(:list) |
|
25
26
|
table.as(:table) |
|
26
27
|
highlight.as(:highlight) |
|
@@ -29,13 +30,37 @@ module Coradoc
|
|
29
30
|
).repeat(1)
|
30
31
|
end
|
31
32
|
|
33
|
+
def block
|
34
|
+
sidebar_block | example_block | source_block | quote_block
|
35
|
+
end
|
36
|
+
|
37
|
+
def source_block
|
38
|
+
block_style("-", 2)
|
39
|
+
end
|
40
|
+
|
41
|
+
def quote_block
|
42
|
+
block_style("_")
|
43
|
+
end
|
44
|
+
|
45
|
+
def sidebar_block
|
46
|
+
block_style("*")
|
47
|
+
end
|
48
|
+
|
32
49
|
def example_block
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
50
|
+
block_style("=")
|
51
|
+
end
|
52
|
+
|
53
|
+
def block_style(delimiter="*", repeater = 4)
|
54
|
+
block_title.maybe >>
|
55
|
+
newline.maybe >>
|
56
|
+
block_type.maybe >>
|
57
|
+
str(delimiter).repeat(repeater).as(:delimiter) >> newline >>
|
58
|
+
text_line.repeat(1).as(:lines) >>
|
59
|
+
str(delimiter).repeat(repeater) >> newline
|
60
|
+
end
|
61
|
+
|
62
|
+
def block_type
|
63
|
+
str("[") >> keyword.as(:type) >> str("]") >> newline
|
39
64
|
end
|
40
65
|
|
41
66
|
def highlight
|
@@ -64,17 +89,12 @@ module Coradoc
|
|
64
89
|
repeat(1).as(:cols) >> line_ending
|
65
90
|
end
|
66
91
|
|
67
|
-
# Extended
|
68
|
-
def word
|
69
|
-
(match("[a-zA-Z0-9_-]") | str(".") | str("*") | match("@")).repeat(1)
|
70
|
-
end
|
71
|
-
|
72
92
|
def empty_cell_content
|
73
93
|
str("|").absent? >> literal_space.as(:text)
|
74
94
|
end
|
75
95
|
|
76
96
|
def cell_content
|
77
|
-
str("|").absent? >> literal_space? >>
|
97
|
+
str("|").absent? >> literal_space? >> rich_texts.as(:text)
|
78
98
|
end
|
79
99
|
|
80
100
|
def literal_space
|
@@ -109,16 +129,22 @@ module Coradoc
|
|
109
129
|
str("[#") >> keyword.as(:id) >> str("]")
|
110
130
|
end
|
111
131
|
|
132
|
+
def paragraph_meta
|
133
|
+
str("[") >>
|
134
|
+
keyword.as(:key) >> str("=") >>
|
135
|
+
word.as(:value) >> str("]") >> newline
|
136
|
+
end
|
137
|
+
|
112
138
|
def glossary
|
113
139
|
keyword.as(:key) >> str("::") >> space? >>
|
114
140
|
text.as(:value) >> line_ending.as(:break)
|
115
141
|
end
|
116
142
|
|
117
|
-
def
|
118
|
-
|
143
|
+
def ordered_list
|
144
|
+
olist_item.repeat(1)
|
119
145
|
end
|
120
146
|
|
121
|
-
def
|
147
|
+
def unordered_list
|
122
148
|
(ulist_item >> newline.maybe).repeat(1)
|
123
149
|
end
|
124
150
|
|
@@ -126,7 +152,7 @@ module Coradoc
|
|
126
152
|
dlist_item.repeat(1)
|
127
153
|
end
|
128
154
|
|
129
|
-
def
|
155
|
+
def olist_item
|
130
156
|
match("\.") >> space >> text_line
|
131
157
|
end
|
132
158
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module Coradoc
|
2
2
|
module Parser
|
3
3
|
module Asciidoc
|
4
|
-
module
|
4
|
+
module DocumentAttributes
|
5
5
|
include Coradoc::Parser::Asciidoc::Base
|
6
6
|
|
7
|
-
#
|
8
|
-
def
|
9
|
-
|
7
|
+
# DocumentAttributes
|
8
|
+
def document_attributess
|
9
|
+
document_attributes.repeat(1)
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
12
|
+
def document_attributes
|
13
13
|
str(":") >> attribute_name.as(:key) >> str(":") >>
|
14
14
|
space? >> attribute_value.as(:value) >> line_ending
|
15
15
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative "base"
|
2
2
|
|
3
3
|
module Coradoc
|
4
4
|
module Parser
|
@@ -6,23 +6,26 @@ module Coradoc
|
|
6
6
|
module Header
|
7
7
|
include Coradoc::Parser::Asciidoc::Base
|
8
8
|
|
9
|
-
# Header
|
10
9
|
def header
|
11
|
-
|
12
|
-
author.maybe.as(:author) >>
|
10
|
+
header_title >>
|
11
|
+
author.maybe.as(:author) >>
|
12
|
+
revision.maybe.as(:revision) >> newline.maybe
|
13
|
+
end
|
14
|
+
|
15
|
+
def header_title
|
16
|
+
match("=") >> space? >> text.as(:title) >> newline
|
13
17
|
end
|
14
18
|
|
15
|
-
# Author
|
16
19
|
def author
|
17
|
-
words.as(:first_name) >> str(",") >>
|
18
|
-
space? >>
|
20
|
+
words.as(:first_name) >> str(",") >>
|
21
|
+
space? >> words.as(:last_name) >>
|
22
|
+
space? >> str("<") >> email.as(:email) >> str(">") >> newline
|
19
23
|
end
|
20
24
|
|
21
|
-
# Revision
|
22
25
|
def revision
|
23
26
|
(word >> (str(".") >> word).maybe).as(:number) >>
|
24
|
-
str(",") >> space? >>
|
25
|
-
|
27
|
+
str(",") >> space? >> date.as(:date ) >> str(":") >>
|
28
|
+
space? >> words.as(:remark) >> newline
|
26
29
|
end
|
27
30
|
end
|
28
31
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "base"
|
2
|
+
require_relative "content"
|
3
3
|
|
4
4
|
module Coradoc
|
5
5
|
module Parser
|
@@ -10,14 +10,14 @@ module Coradoc
|
|
10
10
|
|
11
11
|
def section_block(level = 2)
|
12
12
|
section_id.maybe >>
|
13
|
-
|
14
|
-
|
13
|
+
section_title(level).as(:title) >>
|
14
|
+
contents.as(:contents).maybe
|
15
15
|
end
|
16
16
|
|
17
17
|
# Section id
|
18
18
|
def section_id
|
19
19
|
(str("[[") >> keyword.as(:id) >> str("]]") |
|
20
|
-
|
20
|
+
str("[#") >> keyword.as(:id) >> str("]")) >> newline
|
21
21
|
end
|
22
22
|
|
23
23
|
# Heading
|
data/lib/coradoc/parser/base.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
require "parslet"
|
2
2
|
require "parslet/convenience"
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
require_relative "asciidoc/header"
|
5
|
+
require_relative "asciidoc/document_attributes"
|
6
|
+
require_relative "asciidoc/section"
|
7
7
|
|
8
8
|
module Coradoc
|
9
9
|
module Parser
|
10
10
|
class Base < Parslet::Parser
|
11
11
|
include Coradoc::Parser::Asciidoc::Header
|
12
|
-
include Coradoc::Parser::Asciidoc::
|
12
|
+
include Coradoc::Parser::Asciidoc::DocumentAttributes
|
13
13
|
include Coradoc::Parser::Asciidoc::Section
|
14
14
|
|
15
15
|
root :document
|
16
16
|
rule(:document) do
|
17
17
|
(
|
18
|
-
|
18
|
+
document_attributess.as(:document_attributes) |
|
19
19
|
section.as(:section) |
|
20
20
|
header.as(:header) |
|
21
21
|
empty_line.as(:line_break) |
|
data/lib/coradoc/parser.rb
CHANGED
data/lib/coradoc/transformer.rb
CHANGED
@@ -8,7 +8,7 @@ module Coradoc
|
|
8
8
|
title: simple(:title),
|
9
9
|
author: simple(:author),
|
10
10
|
revision: simple(:revision)) do
|
11
|
-
|
11
|
+
Element::Header.new(title, author: author, revision: revision)
|
12
12
|
end
|
13
13
|
|
14
14
|
# Author
|
@@ -16,35 +16,41 @@ module Coradoc
|
|
16
16
|
first_name: simple(:first_name),
|
17
17
|
last_name: simple(:last_name),
|
18
18
|
email: simple(:email)) do
|
19
|
-
|
19
|
+
Element::Author.new(first_name, last_name, email)
|
20
20
|
end
|
21
21
|
|
22
22
|
# Revision
|
23
23
|
rule(number: simple(:number), date: simple(:date), remark: simple(:remark)) do
|
24
|
-
|
24
|
+
Element::Revision.new(number, date: date, remark: remark)
|
25
25
|
end
|
26
26
|
|
27
27
|
# Text Element
|
28
|
-
rule(text: simple(:text)) {
|
28
|
+
rule(text: simple(:text)) { Element::TextElement.new(text) }
|
29
29
|
rule(id: simple(:id), text: simple(:text)) do
|
30
|
-
|
30
|
+
Element::TextElement.new(text, id: id)
|
31
31
|
end
|
32
32
|
|
33
33
|
rule(text: simple(:text), break: simple(:line_break)) do
|
34
|
-
|
34
|
+
Element::TextElement.new(text, line_break: line_break)
|
35
35
|
end
|
36
36
|
|
37
37
|
rule(id: simple(:id), text: simple(:text), break: simple(:line_break)) do
|
38
|
-
|
38
|
+
Element::TextElement.new(text, id: id, line_break: line_break)
|
39
39
|
end
|
40
40
|
|
41
|
+
# Paragraph
|
42
|
+
rule(paragraph: simple(:paragraph)) { paragraph }
|
43
|
+
rule(lines: sequence(:lines)) { Element::Paragraph.new(lines) }
|
44
|
+
rule(meta: simple(:meta), lines: sequence(:lines)) do
|
45
|
+
Element::Paragraph.new(lines, meta: meta)
|
46
|
+
end
|
41
47
|
|
42
48
|
# Title Element
|
43
49
|
rule(
|
44
50
|
level: simple(:level),
|
45
51
|
text: simple(:text),
|
46
52
|
break: simple(:line_break)) do
|
47
|
-
|
53
|
+
Element::Title.new(text, level, line_break: line_break)
|
48
54
|
end
|
49
55
|
|
50
56
|
rule(
|
@@ -52,23 +58,19 @@ module Coradoc
|
|
52
58
|
level: simple(:level),
|
53
59
|
text: simple(:text),
|
54
60
|
break: simple(:line_break)) do
|
55
|
-
|
61
|
+
Element::Title.new(text, level, line_break: line_break, id: name)
|
56
62
|
end
|
57
63
|
|
58
|
-
# Paragraph
|
59
|
-
rule(paragraph: sequence(:paragraph)) do
|
60
|
-
Document::Paragraph.new(paragraph)
|
61
|
-
end
|
62
64
|
|
63
65
|
# Section
|
64
|
-
# rule(title: simple(:title)) {
|
66
|
+
# rule(title: simple(:title)) { Element::Section.new(title) }
|
65
67
|
#
|
66
68
|
# rule(id: simple(:id), title: simple(:title), content:)
|
67
69
|
rule(
|
68
70
|
id: simple(:id),
|
69
71
|
title: simple(:title),
|
70
72
|
sections: sequence(:sections)) do
|
71
|
-
|
73
|
+
Element::Section.new(title, id: id, sections: sections)
|
72
74
|
end
|
73
75
|
|
74
76
|
rule(
|
@@ -76,7 +78,7 @@ module Coradoc
|
|
76
78
|
title: simple(:title),
|
77
79
|
contents: sequence(:contents),
|
78
80
|
sections: simple(:sections)) do
|
79
|
-
|
81
|
+
Element::Section.new(title, id: id, contents: contents, sections: sections)
|
80
82
|
end
|
81
83
|
|
82
84
|
rule(
|
@@ -84,37 +86,37 @@ module Coradoc
|
|
84
86
|
title: simple(:title),
|
85
87
|
contents: sequence(:contents),
|
86
88
|
sections: sequence(:sections)) do
|
87
|
-
|
89
|
+
Element::Section.new(title, id: id, contents: contents, sections: sections)
|
88
90
|
end
|
89
91
|
|
90
92
|
rule(example: sequence(:example)) do
|
91
|
-
|
93
|
+
Element::Core.new("", type: "example", lines: example)
|
92
94
|
end
|
93
95
|
|
94
96
|
# rule(title: simple(:title), paragraphs: sequence(:paragraphs)) do
|
95
|
-
#
|
97
|
+
# Element::Section.new(title, paragraphs: paragraphs)
|
96
98
|
# end
|
97
99
|
#
|
98
100
|
# rule(title: simple(:title), blocks: sequence(:blocks)) do
|
99
|
-
#
|
101
|
+
# Element::Section.new(title, blocks: blocks)
|
100
102
|
# end
|
101
103
|
#
|
102
104
|
# # Admonition
|
103
105
|
# rule(admonition: simple(:admonition)) { admonition }
|
104
106
|
# rule(type: simple(:type), text: simple(:text), break: simple(:line_break)) do
|
105
|
-
#
|
107
|
+
# Element::Admonition.new(text, type.to_s, line_break: line_break)
|
106
108
|
# end
|
107
109
|
#
|
108
110
|
# # Block
|
109
111
|
# rule(title: simple(:title), lines: sequence(:lines)) do
|
110
|
-
#
|
112
|
+
# Element::Block.new(title, lines: lines)
|
111
113
|
# end
|
112
114
|
#
|
113
115
|
# rule(
|
114
116
|
# title: simple(:title),
|
115
117
|
# delimiter: simple(:delimiter),
|
116
118
|
# lines: sequence(:lines)) do
|
117
|
-
#
|
119
|
+
# Element::Block.new(title, lines: lines, delimiter: delimiter)
|
118
120
|
# end
|
119
121
|
#
|
120
122
|
# rule(
|
@@ -122,51 +124,52 @@ module Coradoc
|
|
122
124
|
# title: simple(:title),
|
123
125
|
# delimiter: simple(:delimiter),
|
124
126
|
# lines: sequence(:lines)) do
|
125
|
-
#
|
127
|
+
# Element::Block.new(title, lines: lines, delimiter: delimiter, type: type)
|
126
128
|
# end
|
127
129
|
#
|
128
130
|
# rule(attributes: simple(:attributes), lines: sequence(:lines)) do
|
129
|
-
#
|
131
|
+
# Element::Block.new(nil, lines: lines, attributes: attributes)
|
130
132
|
# end
|
131
133
|
#
|
132
134
|
# Attribute
|
133
135
|
rule(key: simple(:key), value: simple(:value)) do
|
134
|
-
|
136
|
+
Element::Attribute.new(key, value)
|
135
137
|
end
|
136
138
|
|
137
139
|
rule(key: simple(:key), value: simple(:value), break: simple(:line_break)) do
|
138
|
-
|
140
|
+
Element::Attribute.new(key, value, line_break: line_break)
|
139
141
|
end
|
140
142
|
|
141
|
-
rule(line_break: simple(:line_break)) {
|
143
|
+
rule(line_break: simple(:line_break)) { Element::LineBreak.new(line_break) }
|
142
144
|
|
143
|
-
rule(
|
144
|
-
|
145
|
+
rule(document_attributes: sequence(:document_attributes)) do
|
146
|
+
Element::DocumentAttributes.new(document_attributes)
|
145
147
|
end
|
146
148
|
|
147
149
|
# Table
|
148
150
|
rule(table: simple(:table)) { table }
|
149
|
-
rule(cols: sequence(:cols)) {
|
151
|
+
rule(cols: sequence(:cols)) { Element::Table::Row.new(cols) }
|
150
152
|
rule(title: simple(:title), rows: sequence(:rows)) do
|
151
|
-
|
153
|
+
Element::Table.new(title, rows)
|
152
154
|
end
|
153
155
|
|
154
156
|
# List
|
155
157
|
rule(list: simple(:list)) { list }
|
156
|
-
rule(
|
157
|
-
|
158
|
+
rule(unordered: sequence(:list_items)) do
|
159
|
+
Element::List::Unordered.new(list_items)
|
158
160
|
end
|
159
161
|
|
160
162
|
# Highlight
|
161
|
-
rule(highlight: simple(:text)) {
|
163
|
+
rule(highlight: simple(:text)) { Element::Highlight.new(text) }
|
162
164
|
|
163
165
|
# Glossaries
|
164
166
|
rule(glossaries: sequence(:glossaries)) do
|
165
|
-
|
167
|
+
Element::Glossaries.new(glossaries)
|
166
168
|
end
|
167
169
|
|
168
170
|
rule(header: simple(:header)) { header }
|
169
171
|
rule(section: simple(:section)) { section }
|
172
|
+
|
170
173
|
rule(document: sequence(:elements)) do
|
171
174
|
Document.from_ast(elements)
|
172
175
|
end
|
data/lib/coradoc/version.rb
CHANGED
data/lib/coradoc.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
4
|
-
require "coradoc/version"
|
3
|
+
require "pathname"
|
5
4
|
|
6
|
-
require "
|
7
|
-
|
5
|
+
require "parslet"
|
6
|
+
require_relative "coradoc/version"
|
7
|
+
require_relative "coradoc/parser"
|
8
|
+
require_relative "coradoc/transformer"
|
9
|
+
require_relative "coradoc/generator"
|
8
10
|
|
9
11
|
module Coradoc
|
10
12
|
class Error < StandardError; end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coradoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
- Abu Nashir
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-04-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: parslet
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- ".docker/docker-compose.yml"
|
109
109
|
- ".docker/readme.md"
|
110
110
|
- ".hound.yml"
|
111
|
+
- ".pryrc.sample"
|
111
112
|
- ".rubocop.yml"
|
112
113
|
- CHANGELOG.md
|
113
114
|
- CODE_OF_CONDUCT.md
|
@@ -120,26 +121,59 @@ files:
|
|
120
121
|
- docker-compose.yml
|
121
122
|
- lib/coradoc.rb
|
122
123
|
- lib/coradoc/document.rb
|
123
|
-
- lib/coradoc/
|
124
|
-
- lib/coradoc/
|
125
|
-
- lib/coradoc/
|
126
|
-
- lib/coradoc/
|
127
|
-
- lib/coradoc/
|
128
|
-
- lib/coradoc/
|
129
|
-
- lib/coradoc/
|
130
|
-
- lib/coradoc/
|
131
|
-
- lib/coradoc/
|
132
|
-
- lib/coradoc/
|
133
|
-
- lib/coradoc/
|
134
|
-
- lib/coradoc/
|
135
|
-
- lib/coradoc/
|
136
|
-
- lib/coradoc/
|
124
|
+
- lib/coradoc/element/admonition.rb
|
125
|
+
- lib/coradoc/element/attribute.rb
|
126
|
+
- lib/coradoc/element/attribute_list.rb
|
127
|
+
- lib/coradoc/element/audio.rb
|
128
|
+
- lib/coradoc/element/author.rb
|
129
|
+
- lib/coradoc/element/base.rb
|
130
|
+
- lib/coradoc/element/block.rb
|
131
|
+
- lib/coradoc/element/block/core.rb
|
132
|
+
- lib/coradoc/element/block/example.rb
|
133
|
+
- lib/coradoc/element/block/literal.rb
|
134
|
+
- lib/coradoc/element/block/quote.rb
|
135
|
+
- lib/coradoc/element/block/side.rb
|
136
|
+
- lib/coradoc/element/block/sourcecode.rb
|
137
|
+
- lib/coradoc/element/break.rb
|
138
|
+
- lib/coradoc/element/document_attributes.rb
|
139
|
+
- lib/coradoc/element/header.rb
|
140
|
+
- lib/coradoc/element/image.rb
|
141
|
+
- lib/coradoc/element/image/block_image.rb
|
142
|
+
- lib/coradoc/element/image/core.rb
|
143
|
+
- lib/coradoc/element/image/inline_image.rb
|
144
|
+
- lib/coradoc/element/inline.rb
|
145
|
+
- lib/coradoc/element/inline/anchor.rb
|
146
|
+
- lib/coradoc/element/inline/bold.rb
|
147
|
+
- lib/coradoc/element/inline/cross_reference.rb
|
148
|
+
- lib/coradoc/element/inline/hard_line_break.rb
|
149
|
+
- lib/coradoc/element/inline/highlight.rb
|
150
|
+
- lib/coradoc/element/inline/image.rb
|
151
|
+
- lib/coradoc/element/inline/italic.rb
|
152
|
+
- lib/coradoc/element/inline/link.rb
|
153
|
+
- lib/coradoc/element/inline/monospace.rb
|
154
|
+
- lib/coradoc/element/inline/quotation.rb
|
155
|
+
- lib/coradoc/element/inline/subscript.rb
|
156
|
+
- lib/coradoc/element/inline/superscript.rb
|
157
|
+
- lib/coradoc/element/list.rb
|
158
|
+
- lib/coradoc/element/list/core.rb
|
159
|
+
- lib/coradoc/element/list/definition.rb
|
160
|
+
- lib/coradoc/element/list/ordered.rb
|
161
|
+
- lib/coradoc/element/list/unordered.rb
|
162
|
+
- lib/coradoc/element/list_item.rb
|
163
|
+
- lib/coradoc/element/paragraph.rb
|
164
|
+
- lib/coradoc/element/revision.rb
|
165
|
+
- lib/coradoc/element/section.rb
|
166
|
+
- lib/coradoc/element/table.rb
|
167
|
+
- lib/coradoc/element/text_element.rb
|
168
|
+
- lib/coradoc/element/title.rb
|
169
|
+
- lib/coradoc/element/video.rb
|
170
|
+
- lib/coradoc/generator.rb
|
137
171
|
- lib/coradoc/legacy_parser.rb
|
138
172
|
- lib/coradoc/oscal.rb
|
139
173
|
- lib/coradoc/parser.rb
|
140
174
|
- lib/coradoc/parser/asciidoc/base.rb
|
141
|
-
- lib/coradoc/parser/asciidoc/bibdata.rb
|
142
175
|
- lib/coradoc/parser/asciidoc/content.rb
|
176
|
+
- lib/coradoc/parser/asciidoc/document_attributes.rb
|
143
177
|
- lib/coradoc/parser/asciidoc/header.rb
|
144
178
|
- lib/coradoc/parser/asciidoc/section.rb
|
145
179
|
- lib/coradoc/parser/base.rb
|
@@ -152,7 +186,7 @@ licenses:
|
|
152
186
|
metadata:
|
153
187
|
homepage_uri: https://www.metanorma.org
|
154
188
|
source_code_uri: https://github.com/metanorma/coradoc
|
155
|
-
post_install_message:
|
189
|
+
post_install_message:
|
156
190
|
rdoc_options: []
|
157
191
|
require_paths:
|
158
192
|
- lib
|
@@ -167,8 +201,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
201
|
- !ruby/object:Gem::Version
|
168
202
|
version: '0'
|
169
203
|
requirements: []
|
170
|
-
rubygems_version: 3.3.
|
171
|
-
signing_key:
|
204
|
+
rubygems_version: 3.3.27
|
205
|
+
signing_key:
|
172
206
|
specification_version: 4
|
173
207
|
summary: AsciiDoc parser for metanorma
|
174
208
|
test_files: []
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
module Document
|
3
|
-
class Base
|
4
|
-
attr_reader :bibdata
|
5
|
-
|
6
|
-
def initialize(asciidoc)
|
7
|
-
@bibdata = extract_bibdata(asciidoc)
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def extract_bibdata(asciidoc)
|
13
|
-
@bibdata ||= BibData.new(asciidoc.attributes)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Coradoc
|
2
|
-
class Document::Block
|
3
|
-
attr_reader :title, :lines, :attributes
|
4
|
-
|
5
|
-
def initialize(title, options = {})
|
6
|
-
@title = title
|
7
|
-
@lines = options.fetch(:lines, [])
|
8
|
-
@type_str = options.fetch(:type, nil)
|
9
|
-
@delimiter = options.fetch(:delimiter, "")
|
10
|
-
@attributes = options.fetch(:attributes, {})
|
11
|
-
end
|
12
|
-
|
13
|
-
def type
|
14
|
-
@type ||= defined_type || type_from_delimiter
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def defined_type
|
20
|
-
if @type_str
|
21
|
-
@type_str.to_s.to_sym
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def type_from_delimiter
|
26
|
-
case @delimiter
|
27
|
-
when "____" then :quote
|
28
|
-
when "****" then :side
|
29
|
-
when "----" then :source
|
30
|
-
when "====" then :example
|
31
|
-
else nil end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|