docbook 0.1.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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CLAUDE.md +19 -0
  4. data/CODE_OF_CONDUCT.md +10 -0
  5. data/README.adoc +335 -0
  6. data/Rakefile +12 -0
  7. data/docs/.lycheeignore +33 -0
  8. data/docs/Gemfile +10 -0
  9. data/docs/INDEX.adoc +67 -0
  10. data/docs/_config.yml +186 -0
  11. data/docs/advanced/element-classes.adoc +185 -0
  12. data/docs/advanced/frontend-customization.adoc +193 -0
  13. data/docs/advanced/index.adoc +14 -0
  14. data/docs/advanced/templates.adoc +123 -0
  15. data/docs/features/element-coverage.adoc +373 -0
  16. data/docs/features/html-output/data-model.adoc +285 -0
  17. data/docs/features/html-output/directory-mode.adoc +180 -0
  18. data/docs/features/html-output/index.adoc +90 -0
  19. data/docs/features/html-output/single-file-mode.adoc +125 -0
  20. data/docs/features/index-generation.adoc +197 -0
  21. data/docs/features/index.adoc +63 -0
  22. data/docs/features/numbering.adoc +183 -0
  23. data/docs/features/toc-generation.adoc +150 -0
  24. data/docs/features/xinclude/fragid-schemes.adoc +287 -0
  25. data/docs/features/xinclude/index.adoc +119 -0
  26. data/docs/features/xinclude/text-includes.adoc +123 -0
  27. data/docs/features/xinclude/xml-includes.adoc +167 -0
  28. data/docs/getting-started/index.adoc +50 -0
  29. data/docs/getting-started/installation.adoc +113 -0
  30. data/docs/getting-started/quick-start.adoc +161 -0
  31. data/docs/guides/converting-article.adoc +188 -0
  32. data/docs/guides/converting-book.adoc +192 -0
  33. data/docs/guides/index.adoc +12 -0
  34. data/docs/guides/roundtrip-testing.adoc +129 -0
  35. data/docs/interfaces/cli/format-command.adoc +109 -0
  36. data/docs/interfaces/cli/index.adoc +73 -0
  37. data/docs/interfaces/cli/roundtrip-command.adoc +125 -0
  38. data/docs/interfaces/cli/to-html-command.adoc +178 -0
  39. data/docs/interfaces/cli/validate-command.adoc +104 -0
  40. data/docs/interfaces/index.adoc +101 -0
  41. data/docs/interfaces/ruby-api/html-output.adoc +186 -0
  42. data/docs/interfaces/ruby-api/index.adoc +111 -0
  43. data/docs/interfaces/ruby-api/parsing.adoc +202 -0
  44. data/docs/interfaces/ruby-api/xinclude.adoc +162 -0
  45. data/docs/interfaces/ruby-api/xref-resolution.adoc +156 -0
  46. data/docs/lychee.toml +42 -0
  47. data/docs/reference/cli-options.adoc +155 -0
  48. data/docs/reference/content-block-types.adoc +243 -0
  49. data/docs/reference/glossary.adoc +119 -0
  50. data/docs/reference/index.adoc +12 -0
  51. data/docs/reference/supported-elements.adoc +749 -0
  52. data/docs/understanding/architecture.adoc +145 -0
  53. data/docs/understanding/content-pipeline.adoc +102 -0
  54. data/docs/understanding/data-models.adoc +156 -0
  55. data/docs/understanding/index.adoc +34 -0
  56. data/exe/docbook +7 -0
  57. data/frontend/dist/app.css +1 -0
  58. data/frontend/dist/app.iife.js +24 -0
  59. data/frontend/package-lock.json +1445 -0
  60. data/frontend/package.json +22 -0
  61. data/frontend/src/App.vue +230 -0
  62. data/frontend/src/app.ts +8 -0
  63. data/frontend/src/components/AppSidebar.vue +116 -0
  64. data/frontend/src/components/AppendixSection.vue +39 -0
  65. data/frontend/src/components/BlockRenderer.vue +358 -0
  66. data/frontend/src/components/ChapterSection.vue +32 -0
  67. data/frontend/src/components/ContentRenderer.vue +13 -0
  68. data/frontend/src/components/EbookContainer.vue +147 -0
  69. data/frontend/src/components/EbookTopBar.vue +116 -0
  70. data/frontend/src/components/PartSection.vue +44 -0
  71. data/frontend/src/components/ReferenceEntry.vue +80 -0
  72. data/frontend/src/components/SearchModal.vue +286 -0
  73. data/frontend/src/components/SectionContent.vue +31 -0
  74. data/frontend/src/components/SettingsPanel.vue +236 -0
  75. data/frontend/src/components/TocTreeItem.vue +135 -0
  76. data/frontend/src/composables/useEbookStore.ts +191 -0
  77. data/frontend/src/composables/useSearch.ts +249 -0
  78. data/frontend/src/env.d.ts +7 -0
  79. data/frontend/src/stores/documentStore.ts +221 -0
  80. data/frontend/src/stores/uiStore.ts +98 -0
  81. data/frontend/src/styles.css +253 -0
  82. data/frontend/tsconfig.json +24 -0
  83. data/frontend/tsconfig.node.json +11 -0
  84. data/frontend/vite.config.ts +30 -0
  85. data/lib/docbook/cli.rb +123 -0
  86. data/lib/docbook/document.rb +67 -0
  87. data/lib/docbook/elements/abbrev.rb +16 -0
  88. data/lib/docbook/elements/acknowledgements.rb +22 -0
  89. data/lib/docbook/elements/address.rb +18 -0
  90. data/lib/docbook/elements/alt.rb +16 -0
  91. data/lib/docbook/elements/annotation.rb +18 -0
  92. data/lib/docbook/elements/appendix.rb +34 -0
  93. data/lib/docbook/elements/article.rb +31 -0
  94. data/lib/docbook/elements/att.rb +15 -0
  95. data/lib/docbook/elements/attribution.rb +20 -0
  96. data/lib/docbook/elements/audioobject.rb +18 -0
  97. data/lib/docbook/elements/author.rb +18 -0
  98. data/lib/docbook/elements/bibliography.rb +24 -0
  99. data/lib/docbook/elements/bibliomixed.rb +40 -0
  100. data/lib/docbook/elements/biblioref.rb +20 -0
  101. data/lib/docbook/elements/blockquote.rb +26 -0
  102. data/lib/docbook/elements/book.rb +36 -0
  103. data/lib/docbook/elements/buildtarget.rb +16 -0
  104. data/lib/docbook/elements/callout.rb +22 -0
  105. data/lib/docbook/elements/calloutlist.rb +22 -0
  106. data/lib/docbook/elements/caution.rb +30 -0
  107. data/lib/docbook/elements/chapter.rb +62 -0
  108. data/lib/docbook/elements/citation.rb +16 -0
  109. data/lib/docbook/elements/citerefentry.rb +26 -0
  110. data/lib/docbook/elements/citetitle.rb +20 -0
  111. data/lib/docbook/elements/classname.rb +16 -0
  112. data/lib/docbook/elements/code.rb +16 -0
  113. data/lib/docbook/elements/colophon.rb +22 -0
  114. data/lib/docbook/elements/computeroutput.rb +18 -0
  115. data/lib/docbook/elements/copyright.rb +17 -0
  116. data/lib/docbook/elements/danger.rb +28 -0
  117. data/lib/docbook/elements/date.rb +16 -0
  118. data/lib/docbook/elements/dedication.rb +22 -0
  119. data/lib/docbook/elements/dir.rb +16 -0
  120. data/lib/docbook/elements/emphasis.rb +18 -0
  121. data/lib/docbook/elements/entry.rb +30 -0
  122. data/lib/docbook/elements/entrytbl.rb +22 -0
  123. data/lib/docbook/elements/equation.rb +26 -0
  124. data/lib/docbook/elements/example.rb +30 -0
  125. data/lib/docbook/elements/fieldsynopsis.rb +21 -0
  126. data/lib/docbook/elements/figure.rb +28 -0
  127. data/lib/docbook/elements/filename.rb +16 -0
  128. data/lib/docbook/elements/firstname.rb +16 -0
  129. data/lib/docbook/elements/firstterm.rb +18 -0
  130. data/lib/docbook/elements/footnote.rb +22 -0
  131. data/lib/docbook/elements/footnoteref.rb +21 -0
  132. data/lib/docbook/elements/foreignphrase.rb +18 -0
  133. data/lib/docbook/elements/formalpara.rb +20 -0
  134. data/lib/docbook/elements/function.rb +16 -0
  135. data/lib/docbook/elements/glossary.rb +24 -0
  136. data/lib/docbook/elements/glossdef.rb +18 -0
  137. data/lib/docbook/elements/glossentry.rb +26 -0
  138. data/lib/docbook/elements/glosssee.rb +18 -0
  139. data/lib/docbook/elements/glossseealso.rb +18 -0
  140. data/lib/docbook/elements/glossterm.rb +18 -0
  141. data/lib/docbook/elements/holder.rb +16 -0
  142. data/lib/docbook/elements/honorific.rb +16 -0
  143. data/lib/docbook/elements/imagedata.rb +29 -0
  144. data/lib/docbook/elements/imageobject.rb +22 -0
  145. data/lib/docbook/elements/important.rb +30 -0
  146. data/lib/docbook/elements/index.rb +26 -0
  147. data/lib/docbook/elements/indexdiv.rb +22 -0
  148. data/lib/docbook/elements/indexentry.rb +22 -0
  149. data/lib/docbook/elements/indexterm.rb +34 -0
  150. data/lib/docbook/elements/info.rb +25 -0
  151. data/lib/docbook/elements/informalexample.rb +24 -0
  152. data/lib/docbook/elements/informalfigure.rb +20 -0
  153. data/lib/docbook/elements/inlinemediaobject.rb +22 -0
  154. data/lib/docbook/elements/itemizedlist.rb +21 -0
  155. data/lib/docbook/elements/legalnotice.rb +22 -0
  156. data/lib/docbook/elements/link.rb +26 -0
  157. data/lib/docbook/elements/listitem.rb +32 -0
  158. data/lib/docbook/elements/literal.rb +16 -0
  159. data/lib/docbook/elements/literallayout.rb +22 -0
  160. data/lib/docbook/elements/mediaobject.rb +26 -0
  161. data/lib/docbook/elements/msg.rb +20 -0
  162. data/lib/docbook/elements/msgexplan.rb +22 -0
  163. data/lib/docbook/elements/msgset.rb +22 -0
  164. data/lib/docbook/elements/note.rb +30 -0
  165. data/lib/docbook/elements/orderedlist.rb +23 -0
  166. data/lib/docbook/elements/orgname.rb +16 -0
  167. data/lib/docbook/elements/para.rb +61 -0
  168. data/lib/docbook/elements/paragraph_like.rb +18 -0
  169. data/lib/docbook/elements/parameter.rb +16 -0
  170. data/lib/docbook/elements/part.rb +38 -0
  171. data/lib/docbook/elements/personname.rb +22 -0
  172. data/lib/docbook/elements/phrase.rb +20 -0
  173. data/lib/docbook/elements/preface.rb +58 -0
  174. data/lib/docbook/elements/primary.rb +16 -0
  175. data/lib/docbook/elements/procedure.rb +24 -0
  176. data/lib/docbook/elements/productname.rb +18 -0
  177. data/lib/docbook/elements/productnumber.rb +16 -0
  178. data/lib/docbook/elements/programlisting.rb +28 -0
  179. data/lib/docbook/elements/property.rb +16 -0
  180. data/lib/docbook/elements/pubdate.rb +16 -0
  181. data/lib/docbook/elements/publishername.rb +16 -0
  182. data/lib/docbook/elements/quotation.rb +24 -0
  183. data/lib/docbook/elements/quote.rb +18 -0
  184. data/lib/docbook/elements/refentry.rb +32 -0
  185. data/lib/docbook/elements/refentrytitle.rb +16 -0
  186. data/lib/docbook/elements/reference.rb +26 -0
  187. data/lib/docbook/elements/refmeta.rb +29 -0
  188. data/lib/docbook/elements/refmiscinfo.rb +16 -0
  189. data/lib/docbook/elements/refname.rb +16 -0
  190. data/lib/docbook/elements/refnamediv.rb +22 -0
  191. data/lib/docbook/elements/refpurpose.rb +16 -0
  192. data/lib/docbook/elements/refsect1.rb +22 -0
  193. data/lib/docbook/elements/refsect2.rb +22 -0
  194. data/lib/docbook/elements/refsect3.rb +22 -0
  195. data/lib/docbook/elements/refsection.rb +32 -0
  196. data/lib/docbook/elements/releaseinfo.rb +16 -0
  197. data/lib/docbook/elements/remark.rb +20 -0
  198. data/lib/docbook/elements/replaceable.rb +16 -0
  199. data/lib/docbook/elements/row.rb +15 -0
  200. data/lib/docbook/elements/screen.rb +28 -0
  201. data/lib/docbook/elements/secondary.rb +16 -0
  202. data/lib/docbook/elements/sect1.rb +26 -0
  203. data/lib/docbook/elements/sect2.rb +24 -0
  204. data/lib/docbook/elements/sect3.rb +24 -0
  205. data/lib/docbook/elements/sect4.rb +24 -0
  206. data/lib/docbook/elements/sect5.rb +22 -0
  207. data/lib/docbook/elements/section.rb +66 -0
  208. data/lib/docbook/elements/see.rb +16 -0
  209. data/lib/docbook/elements/seealso.rb +18 -0
  210. data/lib/docbook/elements/set.rb +26 -0
  211. data/lib/docbook/elements/setindex.rb +24 -0
  212. data/lib/docbook/elements/sidebar.rb +22 -0
  213. data/lib/docbook/elements/simplesect.rb +32 -0
  214. data/lib/docbook/elements/step.rb +26 -0
  215. data/lib/docbook/elements/substeps.rb +18 -0
  216. data/lib/docbook/elements/subtitle.rb +16 -0
  217. data/lib/docbook/elements/surname.rb +16 -0
  218. data/lib/docbook/elements/table.rb +24 -0
  219. data/lib/docbook/elements/tag.rb +20 -0
  220. data/lib/docbook/elements/tbody.rb +15 -0
  221. data/lib/docbook/elements/term.rb +37 -0
  222. data/lib/docbook/elements/tertiary.rb +16 -0
  223. data/lib/docbook/elements/textobject.rb +18 -0
  224. data/lib/docbook/elements/tfoot.rb +15 -0
  225. data/lib/docbook/elements/tgroup.rb +21 -0
  226. data/lib/docbook/elements/thead.rb +15 -0
  227. data/lib/docbook/elements/tip.rb +30 -0
  228. data/lib/docbook/elements/title.rb +16 -0
  229. data/lib/docbook/elements/toc.rb +24 -0
  230. data/lib/docbook/elements/tocdiv.rb +22 -0
  231. data/lib/docbook/elements/tocentry.rb +20 -0
  232. data/lib/docbook/elements/topic.rb +26 -0
  233. data/lib/docbook/elements/type.rb +16 -0
  234. data/lib/docbook/elements/uri.rb +16 -0
  235. data/lib/docbook/elements/userinput.rb +18 -0
  236. data/lib/docbook/elements/variable.rb +16 -0
  237. data/lib/docbook/elements/variablelist.rb +19 -0
  238. data/lib/docbook/elements/varlistentry.rb +17 -0
  239. data/lib/docbook/elements/version.rb +16 -0
  240. data/lib/docbook/elements/videoobject.rb +18 -0
  241. data/lib/docbook/elements/warning.rb +30 -0
  242. data/lib/docbook/elements/xref.rb +18 -0
  243. data/lib/docbook/elements/year.rb +16 -0
  244. data/lib/docbook/elements.rb +204 -0
  245. data/lib/docbook/models/document_metadata.rb +30 -0
  246. data/lib/docbook/models/document_root.rb +33 -0
  247. data/lib/docbook/models/index_entry.rb +28 -0
  248. data/lib/docbook/models/reading_position.rb +22 -0
  249. data/lib/docbook/models/section_number.rb +18 -0
  250. data/lib/docbook/models/section_root.rb +29 -0
  251. data/lib/docbook/models/toc_node.rb +24 -0
  252. data/lib/docbook/models.rb +16 -0
  253. data/lib/docbook/output/data.rb +196 -0
  254. data/lib/docbook/output/html.rb +1450 -0
  255. data/lib/docbook/output/index_generator.rb +281 -0
  256. data/lib/docbook/output.rb +8 -0
  257. data/lib/docbook/services/document_builder.rb +258 -0
  258. data/lib/docbook/services/element_to_hash.rb +287 -0
  259. data/lib/docbook/services/index_generator.rb +134 -0
  260. data/lib/docbook/services/numbering_service.rb +186 -0
  261. data/lib/docbook/services/toc_generator.rb +138 -0
  262. data/lib/docbook/services.rb +14 -0
  263. data/lib/docbook/templates/document.html.liquid +20 -0
  264. data/lib/docbook/templates/partials/_head.liquid +39 -0
  265. data/lib/docbook/templates/partials/_scripts.liquid +10 -0
  266. data/lib/docbook/version.rb +5 -0
  267. data/lib/docbook/xinclude_resolver.rb +217 -0
  268. data/lib/docbook/xref_resolver.rb +78 -0
  269. data/lib/docbook.rb +17 -0
  270. data/sig/docbook.rbs +4 -0
  271. metadata +385 -0
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Sect5 < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "sect5"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "title", to: :title
18
+ map_element "para", to: :para
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Section < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :version, :string
10
+ attribute :info, Info
11
+ attribute :title, Title
12
+ attribute :para, Para, collection: true
13
+ attribute :section, Section, collection: true
14
+ attribute :simplesect, Simplesect, collection: true
15
+ attribute :formalpara, FormalPara, collection: true
16
+ attribute :orderedlist, OrderedList, collection: true
17
+ attribute :itemizedlist, ItemizedList, collection: true
18
+ attribute :variablelist, VariableList, collection: true
19
+ attribute :figure, Figure, collection: true
20
+ attribute :table, Table, collection: true
21
+ attribute :note, Note, collection: true
22
+ attribute :warning, Warning, collection: true
23
+ attribute :important, Important, collection: true
24
+ attribute :caution, Caution, collection: true
25
+ attribute :tip, Tip, collection: true
26
+ attribute :danger, Danger, collection: true
27
+ attribute :example, Example, collection: true
28
+ attribute :informalfigure, InformalFigure, collection: true
29
+ attribute :programlisting, ProgramListing, collection: true
30
+ attribute :screen, Screen, collection: true
31
+ attribute :literallayout, LiteralLayout, collection: true
32
+ attribute :indexterm, IndexTerm, collection: true
33
+
34
+ xml do
35
+ element "section"
36
+ mixed_content
37
+ map_content to: :content
38
+ map_attribute "xml:id", to: :xml_id
39
+ map_attribute "version", to: :version
40
+ map_element "info", to: :info
41
+ map_element "title", to: :title
42
+ map_element "para", to: :para
43
+ map_element "section", to: :section
44
+ map_element "simplesect", to: :simplesect
45
+ map_element "formalpara", to: :formalpara
46
+ map_element "orderedlist", to: :orderedlist
47
+ map_element "itemizedlist", to: :itemizedlist
48
+ map_element "variablelist", to: :variablelist
49
+ map_element "figure", to: :figure
50
+ map_element "table", to: :table
51
+ map_element "note", to: :note
52
+ map_element "warning", to: :warning
53
+ map_element "important", to: :important
54
+ map_element "caution", to: :caution
55
+ map_element "tip", to: :tip
56
+ map_element "danger", to: :danger
57
+ map_element "example", to: :example
58
+ map_element "informalfigure", to: :informalfigure
59
+ map_element "programlisting", to: :programlisting
60
+ map_element "screen", to: :screen
61
+ map_element "literallayout", to: :literallayout
62
+ map_element "indexterm", to: :indexterm
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class See < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "see"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class SeeAlso < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :endterm, :string
9
+
10
+ xml do
11
+ element "seealso"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "endterm", to: :endterm
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Set < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :version, :string
10
+ attribute :info, Info
11
+ attribute :title, Title
12
+ attribute :book, Book, collection: true
13
+
14
+ xml do
15
+ element "set"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_attribute "version", to: :version
20
+ map_element "info", to: :info
21
+ map_element "title", to: :title
22
+ map_element "book", to: :book
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class SetIndex < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :type, :string
10
+ attribute :title, Title
11
+ attribute :indexterm, IndexTerm, collection: true
12
+
13
+ xml do
14
+ element "setindex"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_attribute "xml:id", to: :xml_id
18
+ map_attribute "type", to: :type
19
+ map_element "title", to: :title
20
+ map_element "indexterm", to: :indexterm
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class SideBar < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "sidebar"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "title", to: :title
18
+ map_element "para", to: :para
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Simplesect < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :para, Para, collection: true
11
+ attribute :programlisting, ProgramListing, collection: true
12
+ attribute :screen, Screen, collection: true
13
+ attribute :literallayout, LiteralLayout, collection: true
14
+ attribute :informalfigure, InformalFigure, collection: true
15
+ attribute :indexterm, IndexTerm, collection: true
16
+
17
+ xml do
18
+ element "simplesect"
19
+ mixed_content
20
+ map_content to: :content
21
+ map_attribute "xml:id", to: :xml_id
22
+ map_element "title", to: :title
23
+ map_element "para", to: :para
24
+ map_element "programlisting", to: :programlisting
25
+ map_element "screen", to: :screen
26
+ map_element "literallayout", to: :literallayout
27
+ map_element "informalfigure", to: :informalfigure
28
+ map_element "indexterm", to: :indexterm
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Step < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :para, Para, collection: true
11
+ attribute :substeps, SubSteps, collection: true
12
+ attribute :programlisting, ProgramListing, collection: true
13
+
14
+ xml do
15
+ element "step"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_element "title", to: :title
20
+ map_element "para", to: :para
21
+ map_element "substeps", to: :substeps
22
+ map_element "programlisting", to: :programlisting
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class SubSteps < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :step, Step, collection: true
9
+
10
+ xml do
11
+ element "substeps"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_element "step", to: :step
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Subtitle < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "subtitle"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Surname < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "surname"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Table < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :tabstyle, :string
10
+ attribute :title, Title
11
+ attribute :tgroup, TGroup, collection: true
12
+
13
+ xml do
14
+ element "table"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_attribute "xml:id", to: :xml_id
18
+ map_attribute "tabstyle", to: :tabstyle
19
+ map_element "title", to: :title
20
+ map_element "tgroup", to: :tgroup
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Tag < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :class_name, :string
9
+ attribute :namespace, :string
10
+
11
+ xml do
12
+ element "tag"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "class", to: :class_name
16
+ map_attribute "namespace", to: :namespace
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TBody < Lutaml::Model::Serializable
7
+ attribute :row, Row, collection: true
8
+
9
+ xml do
10
+ element "tbody"
11
+ map_element "row", to: :row
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Term < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :code, Code, collection: true
9
+ attribute :literal, Literal, collection: true
10
+ attribute :emphasis, Emphasis, collection: true
11
+ attribute :filename, Filename, collection: true
12
+ attribute :productname, ProductName, collection: true
13
+ attribute :link, Link, collection: true
14
+ attribute :xref, Xref, collection: true
15
+ attribute :tag, Tag, collection: true
16
+ attribute :att, Att, collection: true
17
+ attribute :property, Property, collection: true
18
+
19
+ xml do
20
+ element "term"
21
+ mixed_content
22
+
23
+ map_content to: :content
24
+ map_element "code", to: :code
25
+ map_element "literal", to: :literal
26
+ map_element "emphasis", to: :emphasis
27
+ map_element "filename", to: :filename
28
+ map_element "productname", to: :productname
29
+ map_element "link", to: :link
30
+ map_element "xref", to: :xref
31
+ map_element "tag", to: :tag
32
+ map_element "att", to: :att
33
+ map_element "property", to: :property
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Tertiary < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "tertiary"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TextObject < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+
10
+ xml do
11
+ element "textobject"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "xml:id", to: :xml_id
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TFoot < Lutaml::Model::Serializable
7
+ attribute :row, Row, collection: true
8
+
9
+ xml do
10
+ element "tfoot"
11
+ map_element "row", to: :row
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TGroup < Lutaml::Model::Serializable
7
+ attribute :cols, :string
8
+ attribute :thead, THead
9
+ attribute :tbody, TBody
10
+ attribute :tfoot, TFoot
11
+
12
+ xml do
13
+ element "tgroup"
14
+ map_attribute "cols", to: :cols
15
+ map_element "thead", to: :thead
16
+ map_element "tbody", to: :tbody
17
+ map_element "tfoot", to: :tfoot
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class THead < Lutaml::Model::Serializable
7
+ attribute :row, Row, collection: true
8
+
9
+ xml do
10
+ element "thead"
11
+ map_element "row", to: :row
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Tip < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :title, Title
11
+ attribute :para, Para, collection: true
12
+ attribute :programlisting, ProgramListing, collection: true
13
+ attribute :screen, Screen, collection: true
14
+ attribute :literallayout, LiteralLayout, collection: true
15
+
16
+ xml do
17
+ element "tip"
18
+ mixed_content
19
+ map_content to: :content
20
+ map_attribute "xml:id", to: :xml_id
21
+ map_attribute "role", to: :role
22
+ map_element "title", to: :title
23
+ map_element "para", to: :para
24
+ map_element "programlisting", to: :programlisting
25
+ map_element "screen", to: :screen
26
+ map_element "literallayout", to: :literallayout
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Title < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "title"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Toc < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :tocdiv, TocDiv, collection: true
11
+ attribute :tocentry, TocEntry, collection: true
12
+
13
+ xml do
14
+ element "toc"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_attribute "xml:id", to: :xml_id
18
+ map_element "title", to: :title
19
+ map_element "tocdiv", to: :tocdiv
20
+ map_element "tocentry", to: :tocentry
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TocDiv < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :tocentry, TocEntry, collection: true
11
+
12
+ xml do
13
+ element "tocdiv"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "title", to: :title
18
+ map_element "tocentry", to: :tocentry
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class TocEntry < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :link, Link
10
+
11
+ xml do
12
+ element "tocentry"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "xml:id", to: :xml_id
16
+ map_element "link", to: :link
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Topic < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :version, :string
10
+ attribute :info, Info
11
+ attribute :title, Title
12
+ attribute :para, Para, collection: true
13
+
14
+ xml do
15
+ element "topic"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_attribute "version", to: :version
20
+ map_element "info", to: :info
21
+ map_element "title", to: :title
22
+ map_element "para", to: :para
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Type < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "type"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end