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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.pryrc.sample +1 -0
  3. data/lib/coradoc/document.rb +41 -23
  4. data/lib/coradoc/{document → element}/admonition.rb +1 -1
  5. data/lib/coradoc/{document → element}/attribute.rb +1 -1
  6. data/lib/coradoc/element/attribute_list.rb +46 -0
  7. data/lib/coradoc/element/audio.rb +22 -0
  8. data/lib/coradoc/element/author.rb +20 -0
  9. data/lib/coradoc/element/base.rb +17 -0
  10. data/lib/coradoc/element/block/core.rb +69 -0
  11. data/lib/coradoc/element/block/example.rb +22 -0
  12. data/lib/coradoc/element/block/literal.rb +19 -0
  13. data/lib/coradoc/element/block/quote.rb +19 -0
  14. data/lib/coradoc/element/block/side.rb +17 -0
  15. data/lib/coradoc/element/block/sourcecode.rb +20 -0
  16. data/lib/coradoc/element/block.rb +13 -0
  17. data/lib/coradoc/element/break.rb +11 -0
  18. data/lib/coradoc/{document/bibdata.rb → element/document_attributes.rb} +4 -8
  19. data/lib/coradoc/element/header.rb +20 -0
  20. data/lib/coradoc/element/image/block_image.rb +12 -0
  21. data/lib/coradoc/element/image/core.rb +24 -0
  22. data/lib/coradoc/element/image/inline_image.rb +12 -0
  23. data/lib/coradoc/element/image.rb +11 -0
  24. data/lib/coradoc/element/inline/anchor.rb +17 -0
  25. data/lib/coradoc/element/inline/bold.rb +19 -0
  26. data/lib/coradoc/element/inline/cross_reference.rb +22 -0
  27. data/lib/coradoc/element/inline/hard_line_break.rb +11 -0
  28. data/lib/coradoc/element/inline/highlight.rb +19 -0
  29. data/lib/coradoc/element/inline/image.rb +25 -0
  30. data/lib/coradoc/element/inline/italic.rb +19 -0
  31. data/lib/coradoc/element/inline/link.rb +26 -0
  32. data/lib/coradoc/element/inline/monospace.rb +19 -0
  33. data/lib/coradoc/element/inline/quotation.rb +17 -0
  34. data/lib/coradoc/element/inline/subscript.rb +17 -0
  35. data/lib/coradoc/element/inline/superscript.rb +17 -0
  36. data/lib/coradoc/element/inline.rb +19 -0
  37. data/lib/coradoc/element/list/core.rb +36 -0
  38. data/lib/coradoc/element/list/definition.rb +8 -0
  39. data/lib/coradoc/element/list/ordered.rb +15 -0
  40. data/lib/coradoc/element/list/unordered.rb +15 -0
  41. data/lib/coradoc/element/list.rb +13 -0
  42. data/lib/coradoc/element/list_item.rb +19 -0
  43. data/lib/coradoc/element/paragraph.rb +32 -0
  44. data/lib/coradoc/element/revision.rb +23 -0
  45. data/lib/coradoc/element/section.rb +37 -0
  46. data/lib/coradoc/element/table.rb +67 -0
  47. data/lib/coradoc/{document → element}/text_element.rb +8 -4
  48. data/lib/coradoc/element/title.rb +42 -0
  49. data/lib/coradoc/element/video.rb +23 -0
  50. data/lib/coradoc/generator.rb +17 -0
  51. data/lib/coradoc/legacy_parser.rb +8 -8
  52. data/lib/coradoc/oscal.rb +5 -2
  53. data/lib/coradoc/parser/asciidoc/base.rb +17 -17
  54. data/lib/coradoc/parser/asciidoc/content.rb +46 -20
  55. data/lib/coradoc/parser/asciidoc/{bibdata.rb → document_attributes.rb} +5 -5
  56. data/lib/coradoc/parser/asciidoc/header.rb +13 -10
  57. data/lib/coradoc/parser/asciidoc/section.rb +5 -5
  58. data/lib/coradoc/parser/base.rb +5 -5
  59. data/lib/coradoc/parser.rb +1 -1
  60. data/lib/coradoc/transformer.rb +39 -36
  61. data/lib/coradoc/version.rb +1 -1
  62. data/lib/coradoc.rb +6 -4
  63. metadata +55 -21
  64. data/lib/coradoc/document/author.rb +0 -11
  65. data/lib/coradoc/document/base.rb +0 -17
  66. data/lib/coradoc/document/block.rb +0 -34
  67. data/lib/coradoc/document/header.rb +0 -11
  68. data/lib/coradoc/document/list.rb +0 -14
  69. data/lib/coradoc/document/paragraph.rb +0 -19
  70. data/lib/coradoc/document/revision.rb +0 -11
  71. data/lib/coradoc/document/section.rb +0 -28
  72. data/lib/coradoc/document/table.rb +0 -20
  73. data/lib/coradoc/document/title.rb +0 -33
@@ -1,14 +0,0 @@
1
- module Coradoc
2
- module Document
3
- class List
4
- attr_reader :items
5
-
6
- def initialize(items)
7
- @items = items
8
- end
9
-
10
- class Unnumbered < List
11
- end
12
- end
13
- end
14
- end
@@ -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,11 +0,0 @@
1
- module Coradoc
2
- class Document::Revision
3
- attr_reader :number, :date, :remark
4
-
5
- def initialize(number, options = {})
6
- @number = number
7
- @date = options.fetch(:date, nil)
8
- @remark = options.fetch(:remark, nil)
9
- end
10
- end
11
- 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