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,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Attribution < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :personname, PersonName
9
+ attribute :author, Author
10
+
11
+ xml do
12
+ element "attribution"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_element "personname", to: :personname
16
+ map_element "author", to: :author
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class AudioObject < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+
10
+ xml do
11
+ element "audioobject"
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,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Author < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :personname, PersonName
9
+
10
+ xml do
11
+ element "author"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_element "personname", to: :personname
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Bibliography < 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 :bibliomixed, Bibliomixed, collection: true
12
+
13
+ xml do
14
+ element "bibliography"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_attribute "xml:id", to: :xml_id
18
+ map_attribute "role", to: :role
19
+ map_element "title", to: :title
20
+ map_element "bibliomixed", to: :bibliomixed
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Bibliomixed < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :abbrev, Abbrev
11
+ attribute :citetitle, Citetitle, collection: true
12
+ attribute :link, Link, collection: true
13
+ attribute :pubdate, :string
14
+ attribute :orgname, OrgName, collection: true
15
+ attribute :publishername, PublisherName, collection: true
16
+ attribute :author, Author, collection: true
17
+ attribute :personname, PersonName, collection: true
18
+ attribute :firstname, FirstName
19
+ attribute :surname, Surname
20
+
21
+ xml do
22
+ element "bibliomixed"
23
+ mixed_content
24
+ map_content to: :content
25
+ map_attribute "xml:id", to: :xml_id
26
+ map_attribute "role", to: :role
27
+ map_element "abbrev", to: :abbrev
28
+ map_element "citetitle", to: :citetitle
29
+ map_element "link", to: :link
30
+ map_element "pubdate", to: :pubdate
31
+ map_element "orgname", to: :orgname
32
+ map_element "publishername", to: :publishername
33
+ map_element "author", to: :author
34
+ map_element "personname", to: :personname
35
+ map_element "firstname", to: :firstname
36
+ map_element "surname", to: :surname
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Biblioref < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :linkend, :string
9
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
10
+
11
+ xml do
12
+ element "biblioref"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "linkend", to: :linkend
16
+ map_attribute "xml:id", to: :xml_id
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 BlockQuote < 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 :attribution, Attribution
12
+ attribute :para, Para, collection: true
13
+
14
+ xml do
15
+ element "blockquote"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_attribute "role", to: :role
20
+ map_element "title", to: :title
21
+ map_element "attribution", to: :attribution
22
+ map_element "para", to: :para
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Book < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :version, :string
9
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
10
+ attribute :info, Info
11
+ attribute :part, Part, collection: true
12
+ attribute :chapter, Chapter, collection: true
13
+ attribute :appendix, Appendix, collection: true
14
+ attribute :preface, Preface, collection: true
15
+ attribute :bibliography, Bibliography, collection: true
16
+ attribute :glossary, Glossary, collection: true
17
+ attribute :index, IndexTerm, collection: true
18
+
19
+ xml do
20
+ element "book"
21
+ mixed_content
22
+ map_content to: :content
23
+ map_attribute "version", to: :version
24
+ map_attribute "xml:id", to: :xml_id
25
+ map_element "info", to: :info
26
+ map_element "part", to: :part
27
+ map_element "chapter", to: :chapter
28
+ map_element "appendix", to: :appendix
29
+ map_element "preface", to: :preface
30
+ map_element "bibliography", to: :bibliography
31
+ map_element "glossary", to: :glossary
32
+ map_element "index", to: :index
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class BuildTarget < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "buildtarget"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Callout < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :arearefs, :string
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "callout"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_attribute "arearefs", to: :arearefs
18
+ map_element "para", to: :para
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class CalloutList < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :callout, Callout, collection: true
11
+
12
+ xml do
13
+ element "calloutlist"
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 "callout", to: :callout
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Caution < 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 "caution"
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,62 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Chapter < 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 :orderedlist, OrderedList, collection: true
15
+ attribute :itemizedlist, ItemizedList, collection: true
16
+ attribute :variablelist, VariableList, collection: true
17
+ attribute :note, Note, collection: true
18
+ attribute :warning, Warning, collection: true
19
+ attribute :caution, Caution, collection: true
20
+ attribute :important, Important, collection: true
21
+ attribute :tip, Tip, collection: true
22
+ attribute :danger, Danger, collection: true
23
+ attribute :figure, Figure, collection: true
24
+ attribute :example, Example, collection: true
25
+ attribute :blockquote, BlockQuote, collection: true
26
+ attribute :literallayout, LiteralLayout, collection: true
27
+ attribute :simplesect, Simplesect, collection: true
28
+ attribute :programlisting, ProgramListing, collection: true
29
+ attribute :screen, Screen, collection: true
30
+ attribute :indexterm, IndexTerm, collection: true
31
+
32
+ xml do
33
+ element "chapter"
34
+ mixed_content
35
+ map_content to: :content
36
+ map_attribute "xml:id", to: :xml_id
37
+ map_attribute "version", to: :version
38
+ map_element "info", to: :info
39
+ map_element "title", to: :title
40
+ map_element "para", to: :para
41
+ map_element "section", to: :section
42
+ map_element "orderedlist", to: :orderedlist
43
+ map_element "itemizedlist", to: :itemizedlist
44
+ map_element "variablelist", to: :variablelist
45
+ map_element "note", to: :note
46
+ map_element "warning", to: :warning
47
+ map_element "caution", to: :caution
48
+ map_element "important", to: :important
49
+ map_element "tip", to: :tip
50
+ map_element "danger", to: :danger
51
+ map_element "figure", to: :figure
52
+ map_element "example", to: :example
53
+ map_element "blockquote", to: :blockquote
54
+ map_element "literallayout", to: :literallayout
55
+ map_element "simplesect", to: :simplesect
56
+ map_element "programlisting", to: :programlisting
57
+ map_element "screen", to: :screen
58
+ map_element "indexterm", to: :indexterm
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Citation < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "citation"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class CiterefEntry < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :linkend, :string
9
+ attribute :startvol, :string
10
+ attribute :endvol, :string
11
+ attribute :startpage, :string
12
+ attribute :endpage, :string
13
+
14
+ xml do
15
+ element "citerefentry"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "linkend", to: :linkend
19
+ map_attribute "startvol", to: :startvol
20
+ map_attribute "endvol", to: :endvol
21
+ map_attribute "startpage", to: :startpage
22
+ map_attribute "endpage", to: :endpage
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Citetitle < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+ attribute :href, :xlink_href
10
+
11
+ xml do
12
+ element "citetitle"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "role", to: :role
16
+ map_attribute "href", to: :href
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ClassName < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "classname"
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 Code < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "code"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Colophon < 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 "colophon"
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,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ComputerOutput < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+
10
+ xml do
11
+ element "computeroutput"
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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Copyright < Lutaml::Model::Serializable
7
+ attribute :year, Year, collection: true
8
+ attribute :holder, Holder, collection: true
9
+
10
+ xml do
11
+ element "copyright"
12
+ map_element "year", to: :year
13
+ map_element "holder", to: :holder
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Danger < 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
+
15
+ xml do
16
+ element "danger"
17
+ mixed_content
18
+ map_content to: :content
19
+ map_attribute "xml:id", to: :xml_id
20
+ map_element "title", to: :title
21
+ map_element "para", to: :para
22
+ map_element "programlisting", to: :programlisting
23
+ map_element "screen", to: :screen
24
+ map_element "literallayout", to: :literallayout
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Date < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "date"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Dedication < 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 "dedication"
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,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Dir < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "dir"
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 Emphasis < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+
10
+ xml do
11
+ element "emphasis"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "role", to: :role
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Entry < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :valign, :string
9
+ attribute :align, :string
10
+ attribute :namest, :string
11
+ attribute :nameend, :string
12
+ attribute :colname, :string
13
+ attribute :spanname, :string
14
+ attribute :morerows, :string
15
+
16
+ xml do
17
+ element "entry"
18
+ mixed_content
19
+ map_content to: :content
20
+ map_attribute "valign", to: :valign
21
+ map_attribute "align", to: :align
22
+ map_attribute "namest", to: :namest
23
+ map_attribute "nameend", to: :nameend
24
+ map_attribute "colname", to: :colname
25
+ map_attribute "spanname", to: :spanname
26
+ map_attribute "morerows", to: :morerows
27
+ end
28
+ end
29
+ end
30
+ end