coradoc 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.docker/Dockerfile +1 -1
  3. data/.docker/docker-compose.yml +2 -2
  4. data/.editorconfig +15 -0
  5. data/.pryrc.sample +1 -0
  6. data/CHANGELOG.md +4 -0
  7. data/Rakefile +10 -0
  8. data/coradoc.gemspec +11 -2
  9. data/exe/reverse_adoc +70 -0
  10. data/exe/w2a +72 -0
  11. data/lib/coradoc/document.rb +40 -23
  12. data/lib/coradoc/element/admonition.rb +13 -0
  13. data/lib/coradoc/{document → element}/attribute.rb +1 -1
  14. data/lib/coradoc/element/attribute_list.rb +46 -0
  15. data/lib/coradoc/element/audio.rb +22 -0
  16. data/lib/coradoc/element/author.rb +22 -0
  17. data/lib/coradoc/element/base.rb +15 -0
  18. data/lib/coradoc/element/block/core.rb +69 -0
  19. data/lib/coradoc/element/block/example.rb +22 -0
  20. data/lib/coradoc/element/block/literal.rb +19 -0
  21. data/lib/coradoc/element/block/quote.rb +19 -0
  22. data/lib/coradoc/element/block/side.rb +17 -0
  23. data/lib/coradoc/element/block/sourcecode.rb +20 -0
  24. data/lib/coradoc/element/block.rb +13 -0
  25. data/lib/coradoc/element/break.rb +11 -0
  26. data/lib/coradoc/{document/bibdata.rb → element/document_attributes.rb} +4 -8
  27. data/lib/coradoc/element/header.rb +20 -0
  28. data/lib/coradoc/element/image/block_image.rb +12 -0
  29. data/lib/coradoc/element/image/core.rb +25 -0
  30. data/lib/coradoc/element/image/inline_image.rb +12 -0
  31. data/lib/coradoc/element/image.rb +10 -0
  32. data/lib/coradoc/element/inline/anchor.rb +17 -0
  33. data/lib/coradoc/element/inline/bold.rb +20 -0
  34. data/lib/coradoc/element/inline/cross_reference.rb +22 -0
  35. data/lib/coradoc/element/inline/hard_line_break.rb +11 -0
  36. data/lib/coradoc/element/inline/highlight.rb +20 -0
  37. data/lib/coradoc/element/inline/image.rb +26 -0
  38. data/lib/coradoc/element/inline/italic.rb +20 -0
  39. data/lib/coradoc/element/inline/link.rb +26 -0
  40. data/lib/coradoc/element/inline/monospace.rb +20 -0
  41. data/lib/coradoc/element/inline/quotation.rb +18 -0
  42. data/lib/coradoc/element/inline/subscript.rb +18 -0
  43. data/lib/coradoc/element/inline/superscript.rb +18 -0
  44. data/lib/coradoc/element/inline.rb +18 -0
  45. data/lib/coradoc/element/list/core.rb +35 -0
  46. data/lib/coradoc/element/list/definition.rb +8 -0
  47. data/lib/coradoc/element/list/ordered.rb +15 -0
  48. data/lib/coradoc/element/list/unordered.rb +15 -0
  49. data/lib/coradoc/element/list.rb +12 -0
  50. data/lib/coradoc/element/list_item.rb +19 -0
  51. data/lib/coradoc/element/paragraph.rb +32 -0
  52. data/lib/coradoc/element/revision.rb +25 -0
  53. data/lib/coradoc/element/section.rb +37 -0
  54. data/lib/coradoc/element/table.rb +67 -0
  55. data/lib/coradoc/element/text_element.rb +32 -0
  56. data/lib/coradoc/{document → element}/title.rb +14 -5
  57. data/lib/coradoc/element/video.rb +23 -0
  58. data/lib/coradoc/generator.rb +17 -0
  59. data/lib/coradoc/legacy_parser.rb +48 -48
  60. data/lib/coradoc/oscal.rb +6 -5
  61. data/lib/coradoc/parser/asciidoc/base.rb +17 -17
  62. data/lib/coradoc/parser/asciidoc/content.rb +55 -29
  63. data/lib/coradoc/parser/asciidoc/document_attributes.rb +19 -0
  64. data/lib/coradoc/parser/asciidoc/header.rb +13 -10
  65. data/lib/coradoc/parser/asciidoc/section.rb +6 -6
  66. data/lib/coradoc/parser/base.rb +5 -5
  67. data/lib/coradoc/parser.rb +1 -1
  68. data/lib/coradoc/reverse_adoc/LICENSE.txt +25 -0
  69. data/lib/coradoc/reverse_adoc/README.adoc +302 -0
  70. data/lib/coradoc/reverse_adoc/cleaner.rb +113 -0
  71. data/lib/coradoc/reverse_adoc/config.rb +54 -0
  72. data/lib/coradoc/reverse_adoc/converters/a.rb +42 -0
  73. data/lib/coradoc/reverse_adoc/converters/aside.rb +16 -0
  74. data/lib/coradoc/reverse_adoc/converters/audio.rb +29 -0
  75. data/lib/coradoc/reverse_adoc/converters/base.rb +100 -0
  76. data/lib/coradoc/reverse_adoc/converters/blockquote.rb +27 -0
  77. data/lib/coradoc/reverse_adoc/converters/br.rb +15 -0
  78. data/lib/coradoc/reverse_adoc/converters/bypass.rb +81 -0
  79. data/lib/coradoc/reverse_adoc/converters/code.rb +56 -0
  80. data/lib/coradoc/reverse_adoc/converters/div.rb +18 -0
  81. data/lib/coradoc/reverse_adoc/converters/drop.rb +22 -0
  82. data/lib/coradoc/reverse_adoc/converters/em.rb +55 -0
  83. data/lib/coradoc/reverse_adoc/converters/figure.rb +25 -0
  84. data/lib/coradoc/reverse_adoc/converters/h.rb +42 -0
  85. data/lib/coradoc/reverse_adoc/converters/head.rb +23 -0
  86. data/lib/coradoc/reverse_adoc/converters/hr.rb +15 -0
  87. data/lib/coradoc/reverse_adoc/converters/ignore.rb +16 -0
  88. data/lib/coradoc/reverse_adoc/converters/img.rb +93 -0
  89. data/lib/coradoc/reverse_adoc/converters/li.rb +17 -0
  90. data/lib/coradoc/reverse_adoc/converters/mark.rb +21 -0
  91. data/lib/coradoc/reverse_adoc/converters/math.rb +31 -0
  92. data/lib/coradoc/reverse_adoc/converters/ol.rb +64 -0
  93. data/lib/coradoc/reverse_adoc/converters/p.rb +23 -0
  94. data/lib/coradoc/reverse_adoc/converters/pass_through.rb +13 -0
  95. data/lib/coradoc/reverse_adoc/converters/pre.rb +55 -0
  96. data/lib/coradoc/reverse_adoc/converters/q.rb +16 -0
  97. data/lib/coradoc/reverse_adoc/converters/strong.rb +52 -0
  98. data/lib/coradoc/reverse_adoc/converters/sub.rb +16 -0
  99. data/lib/coradoc/reverse_adoc/converters/sup.rb +16 -0
  100. data/lib/coradoc/reverse_adoc/converters/table.rb +69 -0
  101. data/lib/coradoc/reverse_adoc/converters/td.rb +83 -0
  102. data/lib/coradoc/reverse_adoc/converters/text.rb +65 -0
  103. data/lib/coradoc/reverse_adoc/converters/th.rb +14 -0
  104. data/lib/coradoc/reverse_adoc/converters/tr.rb +22 -0
  105. data/lib/coradoc/reverse_adoc/converters/video.rb +29 -0
  106. data/lib/coradoc/reverse_adoc/converters.rb +32 -0
  107. data/lib/coradoc/reverse_adoc/errors.rb +10 -0
  108. data/lib/coradoc/reverse_adoc/html_converter.rb +61 -0
  109. data/lib/coradoc/reverse_adoc.rb +27 -0
  110. data/lib/coradoc/transformer.rb +59 -46
  111. data/lib/coradoc/version.rb +1 -1
  112. data/lib/coradoc.rb +6 -4
  113. data/lib/reverse_adoc.rb +20 -0
  114. metadata +231 -23
  115. data/lib/coradoc/document/admonition.rb +0 -11
  116. data/lib/coradoc/document/author.rb +0 -11
  117. data/lib/coradoc/document/base.rb +0 -17
  118. data/lib/coradoc/document/block.rb +0 -34
  119. data/lib/coradoc/document/header.rb +0 -11
  120. data/lib/coradoc/document/list.rb +0 -14
  121. data/lib/coradoc/document/paragraph.rb +0 -19
  122. data/lib/coradoc/document/revision.rb +0 -11
  123. data/lib/coradoc/document/section.rb +0 -28
  124. data/lib/coradoc/document/table.rb +0 -20
  125. data/lib/coradoc/document/text_element.rb +0 -22
  126. data/lib/coradoc/parser/asciidoc/bibdata.rb +0 -19
@@ -7,114 +7,125 @@ module Coradoc
7
7
  rule(
8
8
  title: simple(:title),
9
9
  author: simple(:author),
10
- revision: simple(:revision)) do
11
- Document::Header.new(title, author: author, revision: revision)
10
+ revision: simple(:revision),
11
+ ) do
12
+ Element::Header.new(title, author: author, revision: revision)
12
13
  end
13
14
 
14
15
  # Author
15
16
  rule(
16
17
  first_name: simple(:first_name),
17
18
  last_name: simple(:last_name),
18
- email: simple(:email)) do
19
- Document::Author.new(first_name, last_name, email)
19
+ email: simple(:email),
20
+ ) do
21
+ Element::Author.new(first_name, last_name, email)
20
22
  end
21
23
 
22
24
  # Revision
23
- rule(number: simple(:number), date: simple(:date), remark: simple(:remark)) do
24
- Document::Revision.new(number, date: date, remark: remark)
25
+ rule(number: simple(:number), date: simple(:date),
26
+ remark: simple(:remark)) do
27
+ Element::Revision.new(number, date: date, remark: remark)
25
28
  end
26
29
 
27
30
  # Text Element
28
- rule(text: simple(:text)) { Document::TextElement.new(text) }
31
+ rule(text: simple(:text)) { Element::TextElement.new(text) }
29
32
  rule(id: simple(:id), text: simple(:text)) do
30
- Document::TextElement.new(text, id: id)
33
+ Element::TextElement.new(text, id: id)
31
34
  end
32
35
 
33
36
  rule(text: simple(:text), break: simple(:line_break)) do
34
- Document::TextElement.new(text, line_break: line_break)
37
+ Element::TextElement.new(text, line_break: line_break)
35
38
  end
36
39
 
37
40
  rule(id: simple(:id), text: simple(:text), break: simple(:line_break)) do
38
- Document::TextElement.new(text, id: id, line_break: line_break)
41
+ Element::TextElement.new(text, id: id, line_break: line_break)
39
42
  end
40
43
 
44
+ # Paragraph
45
+ rule(paragraph: simple(:paragraph)) { paragraph }
46
+ rule(lines: sequence(:lines)) { Element::Paragraph.new(lines) }
47
+ rule(meta: simple(:meta), lines: sequence(:lines)) do
48
+ Element::Paragraph.new(lines, meta: meta)
49
+ end
41
50
 
42
51
  # Title Element
43
52
  rule(
44
53
  level: simple(:level),
45
54
  text: simple(:text),
46
- break: simple(:line_break)) do
47
- Document::Title.new(text, level, line_break: line_break)
55
+ break: simple(:line_break),
56
+ ) do
57
+ Element::Title.new(text, level, line_break: line_break)
48
58
  end
49
59
 
50
60
  rule(
51
61
  name: simple(:name),
52
62
  level: simple(:level),
53
63
  text: simple(:text),
54
- break: simple(:line_break)) do
55
- Document::Title.new(text, level, line_break: line_break, id: name)
56
- end
57
-
58
- # Paragraph
59
- rule(paragraph: sequence(:paragraph)) do
60
- Document::Paragraph.new(paragraph)
64
+ break: simple(:line_break),
65
+ ) do
66
+ Element::Title.new(text, level, line_break: line_break, id: name)
61
67
  end
62
68
 
63
69
  # Section
64
- # rule(title: simple(:title)) { Document::Section.new(title) }
70
+ # rule(title: simple(:title)) { Element::Section.new(title) }
65
71
  #
66
72
  # rule(id: simple(:id), title: simple(:title), content:)
67
73
  rule(
68
74
  id: simple(:id),
69
75
  title: simple(:title),
70
- sections: sequence(:sections)) do
71
- Document::Section.new(title, id: id, sections: sections)
76
+ sections: sequence(:sections),
77
+ ) do
78
+ Element::Section.new(title, id: id, sections: sections)
72
79
  end
73
80
 
74
81
  rule(
75
82
  id: simple(:id),
76
83
  title: simple(:title),
77
84
  contents: sequence(:contents),
78
- sections: simple(:sections)) do
79
- Document::Section.new(title, id: id, contents: contents, sections: sections)
85
+ sections: simple(:sections),
86
+ ) do
87
+ Element::Section.new(title, id: id, contents: contents,
88
+ sections: sections)
80
89
  end
81
90
 
82
91
  rule(
83
92
  id: simple(:id),
84
93
  title: simple(:title),
85
94
  contents: sequence(:contents),
86
- sections: sequence(:sections)) do
87
- Document::Section.new(title, id: id, contents: contents, sections: sections)
95
+ sections: sequence(:sections),
96
+ ) do
97
+ Element::Section.new(title, id: id, contents: contents,
98
+ sections: sections)
88
99
  end
89
100
 
90
101
  rule(example: sequence(:example)) do
91
- Document::Block.new("", type: "example", lines: example)
102
+ Element::Core.new("", type: "example", lines: example)
92
103
  end
93
104
 
94
105
  # rule(title: simple(:title), paragraphs: sequence(:paragraphs)) do
95
- # Document::Section.new(title, paragraphs: paragraphs)
106
+ # Element::Section.new(title, paragraphs: paragraphs)
96
107
  # end
97
108
  #
98
109
  # rule(title: simple(:title), blocks: sequence(:blocks)) do
99
- # Document::Section.new(title, blocks: blocks)
110
+ # Element::Section.new(title, blocks: blocks)
100
111
  # end
101
112
  #
102
113
  # # Admonition
103
114
  # rule(admonition: simple(:admonition)) { admonition }
104
115
  # rule(type: simple(:type), text: simple(:text), break: simple(:line_break)) do
105
- # Document::Admonition.new(text, type.to_s, line_break: line_break)
116
+ # Element::Admonition.new(text, type.to_s, line_break: line_break)
106
117
  # end
107
118
  #
108
119
  # # Block
109
120
  # rule(title: simple(:title), lines: sequence(:lines)) do
110
- # Document::Block.new(title, lines: lines)
121
+ # Element::Block.new(title, lines: lines)
111
122
  # end
112
123
  #
113
124
  # rule(
114
125
  # title: simple(:title),
115
126
  # delimiter: simple(:delimiter),
116
127
  # lines: sequence(:lines)) do
117
- # Document::Block.new(title, lines: lines, delimiter: delimiter)
128
+ # Element::Block.new(title, lines: lines, delimiter: delimiter)
118
129
  # end
119
130
  #
120
131
  # rule(
@@ -122,51 +133,53 @@ module Coradoc
122
133
  # title: simple(:title),
123
134
  # delimiter: simple(:delimiter),
124
135
  # lines: sequence(:lines)) do
125
- # Document::Block.new(title, lines: lines, delimiter: delimiter, type: type)
136
+ # Element::Block.new(title, lines: lines, delimiter: delimiter, type: type)
126
137
  # end
127
138
  #
128
139
  # rule(attributes: simple(:attributes), lines: sequence(:lines)) do
129
- # Document::Block.new(nil, lines: lines, attributes: attributes)
140
+ # Element::Block.new(nil, lines: lines, attributes: attributes)
130
141
  # end
131
142
  #
132
143
  # Attribute
133
144
  rule(key: simple(:key), value: simple(:value)) do
134
- Document::Attribute.new(key, value)
145
+ Element::Attribute.new(key, value)
135
146
  end
136
147
 
137
- rule(key: simple(:key), value: simple(:value), break: simple(:line_break)) do
138
- Document::Attribute.new(key, value, line_break: line_break)
148
+ rule(key: simple(:key), value: simple(:value),
149
+ break: simple(:line_break)) do
150
+ Element::Attribute.new(key, value, line_break: line_break)
139
151
  end
140
152
 
141
- rule(line_break: simple(:line_break)) { Document::LineBreak.new(line_break) }
153
+ rule(line_break: simple(:line_break)) { Element::LineBreak.new(line_break) }
142
154
 
143
- rule(bibdata: sequence(:bibdata)) do
144
- Document::Bibdata.new(bibdata)
155
+ rule(document_attributes: sequence(:document_attributes)) do
156
+ Element::DocumentAttributes.new(document_attributes)
145
157
  end
146
158
 
147
159
  # Table
148
160
  rule(table: simple(:table)) { table }
149
- rule(cols: sequence(:cols)) { Document::Table::Row.new(cols) }
161
+ rule(cols: sequence(:cols)) { Element::Table::Row.new(cols) }
150
162
  rule(title: simple(:title), rows: sequence(:rows)) do
151
- Document::Table.new(title, rows)
163
+ Element::Table.new(title, rows)
152
164
  end
153
165
 
154
166
  # List
155
167
  rule(list: simple(:list)) { list }
156
- rule(unnumbered: sequence(:list_items)) do
157
- Document::List::Unnumbered.new(list_items)
168
+ rule(unordered: sequence(:list_items)) do
169
+ Element::List::Unordered.new(list_items)
158
170
  end
159
171
 
160
172
  # Highlight
161
- rule(highlight: simple(:text)) { Document::Highlight.new(text) }
173
+ rule(highlight: simple(:text)) { Element::Highlight.new(text) }
162
174
 
163
175
  # Glossaries
164
176
  rule(glossaries: sequence(:glossaries)) do
165
- Document::Glossaries.new(glossaries)
177
+ Element::Glossaries.new(glossaries)
166
178
  end
167
179
 
168
180
  rule(header: simple(:header)) { header }
169
181
  rule(section: simple(:section)) { section }
182
+
170
183
  rule(document: sequence(:elements)) do
171
184
  Document.from_ast(elements)
172
185
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Coradoc
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/coradoc.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "parslet"
4
- require "coradoc/version"
3
+ require "pathname"
5
4
 
6
- require "coradoc/parser"
7
- require "coradoc/transformer"
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
@@ -0,0 +1,20 @@
1
+ warn <<~END
2
+ Deprecated: reverse_adoc has been merged into coradoc gem.
3
+ | Please update your references from:
4
+ | require 'reverse_adoc'
5
+ | To:
6
+ | require 'coradoc/reverse_adoc'
7
+ |
8
+ | You are referencing an old require here:
9
+ | #{caller.join("\n| ")}
10
+ |
11
+ | You should also replace 'coradoc' with 'reverse_adoc' in your gem dependencies.
12
+ | reverse_adoc 2.0.0 will be kept with 'coradoc' as the only dependency.
13
+ |
14
+ | Please also ensure that you replace all references to ReverseAdoc in your code
15
+ | with Coradoc::ReverseAdoc.
16
+ END
17
+
18
+ require "coradoc/reverse_adoc"
19
+
20
+ ReverseAdoc = Coradoc::ReverseAdoc
metadata CHANGED
@@ -1,18 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coradoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.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: 2023-06-23 00:00:00.000000000 Z
12
+ date: 2024-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: parslet
15
+ name: marcel
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 1.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: mathml2asciimath
16
30
  requirement: !ruby/object:Gem::Requirement
17
31
  requirements:
18
32
  - - ">="
@@ -25,6 +39,20 @@ dependencies:
25
39
  - - ">="
26
40
  - !ruby/object:Gem::Version
27
41
  version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: nokogiri
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.13'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.13'
28
56
  - !ruby/object:Gem::Dependency
29
57
  name: oscal
30
58
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +67,62 @@ dependencies:
39
67
  - - "~>"
40
68
  - !ruby/object:Gem::Version
41
69
  version: 0.1.1
70
+ - !ruby/object:Gem::Dependency
71
+ name: parslet
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: premailer
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 1.11.0
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 1.11.0
98
+ - !ruby/object:Gem::Dependency
99
+ name: word-to-markdown
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: codeclimate-test-reporter
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
42
126
  - !ruby/object:Gem::Dependency
43
127
  name: pry
44
128
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +151,20 @@ dependencies:
67
151
  - - ">="
68
152
  - !ruby/object:Gem::Version
69
153
  version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: redcarpet
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
70
168
  - !ruby/object:Gem::Dependency
71
169
  name: rspec
72
170
  requirement: !ruby/object:Gem::Requirement
@@ -95,11 +193,41 @@ dependencies:
95
193
  - - ">="
96
194
  - !ruby/object:Gem::Version
97
195
  version: '0'
196
+ - !ruby/object:Gem::Dependency
197
+ name: rubocop-performance
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: simplecov
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
98
224
  description: Experimental AsciiDoc parser for metanorma
99
225
  email:
100
226
  - open.source@ribose.com
101
227
  - abunashir@gmail.com
102
- executables: []
228
+ executables:
229
+ - reverse_adoc
230
+ - w2a
103
231
  extensions: []
104
232
  extra_rdoc_files: []
105
233
  files:
@@ -107,7 +235,9 @@ files:
107
235
  - ".docker/Makefile"
108
236
  - ".docker/docker-compose.yml"
109
237
  - ".docker/readme.md"
238
+ - ".editorconfig"
110
239
  - ".hound.yml"
240
+ - ".pryrc.sample"
111
241
  - ".rubocop.yml"
112
242
  - CHANGELOG.md
113
243
  - CODE_OF_CONDUCT.md
@@ -118,33 +248,111 @@ files:
118
248
  - Rakefile
119
249
  - coradoc.gemspec
120
250
  - docker-compose.yml
251
+ - exe/reverse_adoc
252
+ - exe/w2a
121
253
  - lib/coradoc.rb
122
254
  - lib/coradoc/document.rb
123
- - lib/coradoc/document/admonition.rb
124
- - lib/coradoc/document/attribute.rb
125
- - lib/coradoc/document/author.rb
126
- - lib/coradoc/document/base.rb
127
- - lib/coradoc/document/bibdata.rb
128
- - lib/coradoc/document/block.rb
129
- - lib/coradoc/document/header.rb
130
- - lib/coradoc/document/list.rb
131
- - lib/coradoc/document/paragraph.rb
132
- - lib/coradoc/document/revision.rb
133
- - lib/coradoc/document/section.rb
134
- - lib/coradoc/document/table.rb
135
- - lib/coradoc/document/text_element.rb
136
- - lib/coradoc/document/title.rb
255
+ - lib/coradoc/element/admonition.rb
256
+ - lib/coradoc/element/attribute.rb
257
+ - lib/coradoc/element/attribute_list.rb
258
+ - lib/coradoc/element/audio.rb
259
+ - lib/coradoc/element/author.rb
260
+ - lib/coradoc/element/base.rb
261
+ - lib/coradoc/element/block.rb
262
+ - lib/coradoc/element/block/core.rb
263
+ - lib/coradoc/element/block/example.rb
264
+ - lib/coradoc/element/block/literal.rb
265
+ - lib/coradoc/element/block/quote.rb
266
+ - lib/coradoc/element/block/side.rb
267
+ - lib/coradoc/element/block/sourcecode.rb
268
+ - lib/coradoc/element/break.rb
269
+ - lib/coradoc/element/document_attributes.rb
270
+ - lib/coradoc/element/header.rb
271
+ - lib/coradoc/element/image.rb
272
+ - lib/coradoc/element/image/block_image.rb
273
+ - lib/coradoc/element/image/core.rb
274
+ - lib/coradoc/element/image/inline_image.rb
275
+ - lib/coradoc/element/inline.rb
276
+ - lib/coradoc/element/inline/anchor.rb
277
+ - lib/coradoc/element/inline/bold.rb
278
+ - lib/coradoc/element/inline/cross_reference.rb
279
+ - lib/coradoc/element/inline/hard_line_break.rb
280
+ - lib/coradoc/element/inline/highlight.rb
281
+ - lib/coradoc/element/inline/image.rb
282
+ - lib/coradoc/element/inline/italic.rb
283
+ - lib/coradoc/element/inline/link.rb
284
+ - lib/coradoc/element/inline/monospace.rb
285
+ - lib/coradoc/element/inline/quotation.rb
286
+ - lib/coradoc/element/inline/subscript.rb
287
+ - lib/coradoc/element/inline/superscript.rb
288
+ - lib/coradoc/element/list.rb
289
+ - lib/coradoc/element/list/core.rb
290
+ - lib/coradoc/element/list/definition.rb
291
+ - lib/coradoc/element/list/ordered.rb
292
+ - lib/coradoc/element/list/unordered.rb
293
+ - lib/coradoc/element/list_item.rb
294
+ - lib/coradoc/element/paragraph.rb
295
+ - lib/coradoc/element/revision.rb
296
+ - lib/coradoc/element/section.rb
297
+ - lib/coradoc/element/table.rb
298
+ - lib/coradoc/element/text_element.rb
299
+ - lib/coradoc/element/title.rb
300
+ - lib/coradoc/element/video.rb
301
+ - lib/coradoc/generator.rb
137
302
  - lib/coradoc/legacy_parser.rb
138
303
  - lib/coradoc/oscal.rb
139
304
  - lib/coradoc/parser.rb
140
305
  - lib/coradoc/parser/asciidoc/base.rb
141
- - lib/coradoc/parser/asciidoc/bibdata.rb
142
306
  - lib/coradoc/parser/asciidoc/content.rb
307
+ - lib/coradoc/parser/asciidoc/document_attributes.rb
143
308
  - lib/coradoc/parser/asciidoc/header.rb
144
309
  - lib/coradoc/parser/asciidoc/section.rb
145
310
  - lib/coradoc/parser/base.rb
311
+ - lib/coradoc/reverse_adoc.rb
312
+ - lib/coradoc/reverse_adoc/LICENSE.txt
313
+ - lib/coradoc/reverse_adoc/README.adoc
314
+ - lib/coradoc/reverse_adoc/cleaner.rb
315
+ - lib/coradoc/reverse_adoc/config.rb
316
+ - lib/coradoc/reverse_adoc/converters.rb
317
+ - lib/coradoc/reverse_adoc/converters/a.rb
318
+ - lib/coradoc/reverse_adoc/converters/aside.rb
319
+ - lib/coradoc/reverse_adoc/converters/audio.rb
320
+ - lib/coradoc/reverse_adoc/converters/base.rb
321
+ - lib/coradoc/reverse_adoc/converters/blockquote.rb
322
+ - lib/coradoc/reverse_adoc/converters/br.rb
323
+ - lib/coradoc/reverse_adoc/converters/bypass.rb
324
+ - lib/coradoc/reverse_adoc/converters/code.rb
325
+ - lib/coradoc/reverse_adoc/converters/div.rb
326
+ - lib/coradoc/reverse_adoc/converters/drop.rb
327
+ - lib/coradoc/reverse_adoc/converters/em.rb
328
+ - lib/coradoc/reverse_adoc/converters/figure.rb
329
+ - lib/coradoc/reverse_adoc/converters/h.rb
330
+ - lib/coradoc/reverse_adoc/converters/head.rb
331
+ - lib/coradoc/reverse_adoc/converters/hr.rb
332
+ - lib/coradoc/reverse_adoc/converters/ignore.rb
333
+ - lib/coradoc/reverse_adoc/converters/img.rb
334
+ - lib/coradoc/reverse_adoc/converters/li.rb
335
+ - lib/coradoc/reverse_adoc/converters/mark.rb
336
+ - lib/coradoc/reverse_adoc/converters/math.rb
337
+ - lib/coradoc/reverse_adoc/converters/ol.rb
338
+ - lib/coradoc/reverse_adoc/converters/p.rb
339
+ - lib/coradoc/reverse_adoc/converters/pass_through.rb
340
+ - lib/coradoc/reverse_adoc/converters/pre.rb
341
+ - lib/coradoc/reverse_adoc/converters/q.rb
342
+ - lib/coradoc/reverse_adoc/converters/strong.rb
343
+ - lib/coradoc/reverse_adoc/converters/sub.rb
344
+ - lib/coradoc/reverse_adoc/converters/sup.rb
345
+ - lib/coradoc/reverse_adoc/converters/table.rb
346
+ - lib/coradoc/reverse_adoc/converters/td.rb
347
+ - lib/coradoc/reverse_adoc/converters/text.rb
348
+ - lib/coradoc/reverse_adoc/converters/th.rb
349
+ - lib/coradoc/reverse_adoc/converters/tr.rb
350
+ - lib/coradoc/reverse_adoc/converters/video.rb
351
+ - lib/coradoc/reverse_adoc/errors.rb
352
+ - lib/coradoc/reverse_adoc/html_converter.rb
146
353
  - lib/coradoc/transformer.rb
147
354
  - lib/coradoc/version.rb
355
+ - lib/reverse_adoc.rb
148
356
  - todo.md
149
357
  homepage: https://www.metanorma.org
150
358
  licenses:
@@ -152,7 +360,7 @@ licenses:
152
360
  metadata:
153
361
  homepage_uri: https://www.metanorma.org
154
362
  source_code_uri: https://github.com/metanorma/coradoc
155
- post_install_message:
363
+ post_install_message:
156
364
  rdoc_options: []
157
365
  require_paths:
158
366
  - lib
@@ -167,8 +375,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
375
  - !ruby/object:Gem::Version
168
376
  version: '0'
169
377
  requirements: []
170
- rubygems_version: 3.3.7
171
- signing_key:
378
+ rubygems_version: 3.3.27
379
+ signing_key:
172
380
  specification_version: 4
173
381
  summary: AsciiDoc parser for metanorma
174
382
  test_files: []
@@ -1,11 +0,0 @@
1
- module Coradoc
2
- class Document::Admonition
3
- attr_reader :type, :content, :line_break
4
-
5
- def initialize(content, type, options = {})
6
- @content = content
7
- @type = type.downcase.to_sym
8
- @line_break = options.fetch(:line_break, "")
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- module Coradoc
2
- class Document::Author
3
- attr_reader :email, :last_name, :first_name
4
-
5
- def initialize(first_name, last_name, email)
6
- @email = email
7
- @last_name = last_name
8
- @first_name = first_name
9
- end
10
- end
11
- end
@@ -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