@xpack/doxygen2docusaurus 1.0.2 → 2.0.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 (267) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/main.d.ts +6 -0
  3. package/dist/cli/main.d.ts.map +1 -1
  4. package/dist/cli/main.js +29 -2
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/docusaurus/cli-options.d.ts +268 -39
  7. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  8. package/dist/docusaurus/cli-options.js +267 -53
  9. package/dist/docusaurus/cli-options.js.map +1 -1
  10. package/dist/docusaurus/generator.d.ts +179 -4
  11. package/dist/docusaurus/generator.d.ts.map +1 -1
  12. package/dist/docusaurus/generator.js +215 -45
  13. package/dist/docusaurus/generator.js.map +1 -1
  14. package/dist/docusaurus/renderers/descriptiontype.d.ts +417 -0
  15. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.js +417 -0
  17. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  18. package/dist/docusaurus/renderers/docinternalstype.d.ts +132 -0
  19. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.js +132 -0
  21. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  22. package/dist/docusaurus/renderers/doclisttype.d.ts +22 -0
  23. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.js +22 -2
  25. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  26. package/dist/docusaurus/renderers/doctabletype.d.ts +88 -0
  27. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.js +88 -0
  29. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  30. package/dist/docusaurus/renderers/doctitletype.d.ts +22 -0
  31. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.js +22 -0
  33. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  34. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +44 -0
  35. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.js +44 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  38. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +22 -0
  39. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.js +22 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  42. package/dist/docusaurus/renderers/element-renderer-base.d.ts +74 -0
  43. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.js +52 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  46. package/dist/docusaurus/renderers/inctype.d.ts +23 -0
  47. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.js +23 -0
  49. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  50. package/dist/docusaurus/renderers/linkedtexttype.d.ts +22 -0
  51. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.js +22 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  54. package/dist/docusaurus/renderers/listingtype.d.ts +52 -0
  55. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.js +66 -2
  57. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  58. package/dist/docusaurus/renderers/paramtype.d.ts +22 -0
  59. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.js +22 -0
  61. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  62. package/dist/docusaurus/renderers/referencetype.d.ts +23 -0
  63. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.js +23 -2
  65. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  66. package/dist/docusaurus/renderers/reftexttype.d.ts +22 -0
  67. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.js +22 -0
  69. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  70. package/dist/docusaurus/renderers/reftype.d.ts +22 -0
  71. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.js +22 -0
  73. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  74. package/dist/docusaurus/renderers/renderers.d.ts +151 -0
  75. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.js +151 -0
  77. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  78. package/dist/docusaurus/renderers/substringtype.d.ts +22 -0
  79. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.js +22 -0
  81. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  82. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +22 -0
  83. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.js +22 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  86. package/dist/docusaurus/types.d.ts +114 -8
  87. package/dist/docusaurus/types.d.ts.map +1 -1
  88. package/dist/docusaurus/types.js.map +1 -1
  89. package/dist/docusaurus/utils.d.ts +214 -0
  90. package/dist/docusaurus/utils.d.ts.map +1 -1
  91. package/dist/docusaurus/utils.js +214 -0
  92. package/dist/docusaurus/utils.js.map +1 -1
  93. package/dist/docusaurus/view-model/classes-vm.d.ts +139 -2
  94. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  95. package/dist/docusaurus/view-model/classes-vm.js +147 -6
  96. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  97. package/dist/docusaurus/view-model/collection-base.d.ts +122 -2
  98. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  99. package/dist/docusaurus/view-model/collection-base.js +78 -0
  100. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  101. package/dist/docusaurus/view-model/compound-base-vm.d.ts +134 -19
  102. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  103. package/dist/docusaurus/view-model/compound-base-vm.js +122 -26
  104. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  105. package/dist/docusaurus/view-model/description-anchors.d.ts +58 -0
  106. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  107. package/dist/docusaurus/view-model/description-anchors.js +58 -0
  108. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  109. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +249 -2
  110. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  111. package/dist/docusaurus/view-model/files-and-folders-vm.js +250 -4
  112. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  113. package/dist/docusaurus/view-model/groups-vm.d.ts +150 -2
  114. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  115. package/dist/docusaurus/view-model/groups-vm.js +153 -5
  116. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  117. package/dist/docusaurus/view-model/members-vm.d.ts +552 -0
  118. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  119. package/dist/docusaurus/view-model/members-vm.js +552 -4
  120. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  121. package/dist/docusaurus/view-model/namespaces-vm.d.ts +201 -2
  122. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  123. package/dist/docusaurus/view-model/namespaces-vm.js +202 -4
  124. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  125. package/dist/docusaurus/view-model/options.d.ts +43 -0
  126. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  127. package/dist/docusaurus/view-model/options.js +43 -0
  128. package/dist/docusaurus/view-model/options.js.map +1 -1
  129. package/dist/docusaurus/view-model/pages-vm.d.ts +117 -2
  130. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  131. package/dist/docusaurus/view-model/pages-vm.js +119 -4
  132. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  133. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +135 -15
  134. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  135. package/dist/docusaurus/view-model/tree-entries-vm.js +136 -16
  136. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  137. package/dist/docusaurus/view-model/view-model.d.ts +119 -0
  138. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  139. package/dist/docusaurus/view-model/view-model.js +119 -0
  140. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  141. package/dist/docusaurus/workspace.d.ts +106 -0
  142. package/dist/docusaurus/workspace.d.ts.map +1 -1
  143. package/dist/docusaurus/workspace.js +107 -1
  144. package/dist/docusaurus/workspace.js.map +1 -1
  145. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +485 -0
  146. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  147. package/dist/doxygen/data-model/compounds/compounddef-dm.js +485 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  149. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +120 -0
  150. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  151. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +98 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  153. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +2705 -0
  154. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  155. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +2677 -47
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  157. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +165 -0
  158. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  159. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +165 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  161. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +70 -0
  162. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  163. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +70 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  165. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +78 -0
  166. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  167. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +78 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  169. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +107 -0
  170. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  171. package/dist/doxygen/data-model/compounds/inctype-dm.js +107 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  173. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +123 -0
  174. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  175. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +123 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  177. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +70 -0
  178. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  179. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +70 -1
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  181. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +156 -0
  182. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  183. package/dist/doxygen/data-model/compounds/locationtype-dm.js +156 -5
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  185. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +433 -0
  186. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  187. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +417 -6
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  189. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +135 -0
  190. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  191. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +136 -4
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  193. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +95 -0
  194. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  195. package/dist/doxygen/data-model/compounds/membertype-dm.js +76 -4
  196. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  197. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +158 -0
  198. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  199. package/dist/doxygen/data-model/compounds/paramtype-dm.js +158 -1
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  201. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +130 -0
  202. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  203. package/dist/doxygen/data-model/compounds/referencetype-dm.js +130 -2
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  205. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +120 -0
  206. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  207. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +106 -3
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  209. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +247 -0
  210. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  211. package/dist/doxygen/data-model/compounds/reftype-dm.js +247 -3
  212. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  213. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +99 -0
  214. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  215. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +99 -2
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  217. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +159 -0
  218. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  219. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +159 -3
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  221. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +255 -0
  222. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  223. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +255 -6
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  225. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +60 -0
  226. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  227. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +60 -1
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  229. package/dist/doxygen/data-model/data-model.d.ts +86 -2
  230. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  231. package/dist/doxygen/data-model/data-model.js +86 -4
  232. package/dist/doxygen/data-model/data-model.js.map +1 -1
  233. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +109 -0
  234. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  235. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +84 -2
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  237. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +81 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  239. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +81 -3
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  241. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +24 -7
  242. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  243. package/dist/doxygen/data-model/doxygen-xml-parser.js +24 -22
  244. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  245. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +92 -0
  246. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  247. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +79 -2
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  249. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +76 -0
  250. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  251. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +76 -3
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  253. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +79 -0
  254. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  255. package/dist/doxygen/data-model/index/indexmembertype-dm.js +66 -2
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  257. package/dist/doxygen/data-model/types.d.ts +96 -1
  258. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  259. package/dist/doxygen/data-model/types.js +37 -0
  260. package/dist/doxygen/data-model/types.js.map +1 -1
  261. package/dist/doxygen2docusaurus.d.ts +4774 -0
  262. package/dist/tsdoc-metadata.json +11 -0
  263. package/package.json +11 -7
  264. /package/{template → templates}/css/custom.css +0 -0
  265. /package/{template → templates}/img/README.md +0 -0
  266. /package/{template → templates}/img/document-svgrepo-com.svg +0 -0
  267. /package/{template → templates}/img/folder-svgrepo-com.svg +0 -0
@@ -18,15 +18,51 @@ import { folderExists } from './utils.js';
18
18
  import { Page } from './view-model/pages-vm.js';
19
19
  // import type { File } from '../view-model/files-and-folders-vm.js'
20
20
  // ----------------------------------------------------------------------------
21
+ /**
22
+ * Generates Docusaurus-compatible Markdown files and configuration from
23
+ * Doxygen XML output.
24
+ *
25
+ * @remarks
26
+ * This class orchestrates the conversion process, creating documentation pages,
27
+ * navigation structures, and associated assets for integration with Docusaurus
28
+ * websites. It handles parallel processing for performance optimisation and
29
+ * manages the complete workflow from XML parsing to final site generation.
30
+ *
31
+ * @public
32
+ */
21
33
  export class DocusaurusGenerator {
34
+ /** The workspace containing the data model and configuration options. */
22
35
  workspace;
36
+ /** CLI options that control the generation process. */
23
37
  options;
24
38
  // --------------------------------------------------------------------------
39
+ /**
40
+ * Constructs a new Docusaurus generator instance.
41
+ *
42
+ * @remarks
43
+ * Initialises the generator with the provided workspace, which contains
44
+ * the parsed Doxygen data model and configuration options required for
45
+ * the generation process.
46
+ *
47
+ * @param workspace - The workspace containing the data model and
48
+ * configuration.
49
+ */
25
50
  constructor(workspace) {
26
51
  this.workspace = workspace;
27
52
  this.options = workspace.options;
28
53
  }
29
54
  // --------------------------------------------------------------------------
55
+ /**
56
+ * Executes the complete generation process.
57
+ *
58
+ * @remarks
59
+ * Orchestrates the creation of all Docusaurus assets including Markdown
60
+ * files, navigation structures, redirect files, and static assets. The
61
+ * process follows a specific sequence to ensure proper dependencies and
62
+ * optimal performance through parallel processing where appropriate.
63
+ *
64
+ * @returns A promise that resolves to the exit code (0 for success).
65
+ */
30
66
  async run() {
31
67
  console.log();
32
68
  await this.prepareOutputFolder();
@@ -39,17 +75,23 @@ export class DocusaurusGenerator {
39
75
  else {
40
76
  console.log('Writing Docusaurus .md pages...');
41
77
  }
42
- await this.generatePages();
78
+ await this.generateMdFiles();
43
79
  if (this.options.verbose) {
44
80
  console.log();
45
81
  }
46
82
  await this.generateTopIndexDotMdFile();
47
83
  await this.generateCollectionsIndexDotMdFiles();
48
- await this.generatePerInitialsIndexMdFiles();
84
+ await this.generatePerInitialsIndexDotMdFiles();
49
85
  console.log(this.workspace.writtenMdFilesCounter, '.md files written');
50
86
  console.log();
51
- await this.generateSidebarFile();
52
- await this.generateMenuFile();
87
+ const sidebarCategory = this.generateSidebarCategory();
88
+ await this.writeSidebarFile(sidebarCategory);
89
+ // await this.generateSidebarFile()
90
+ if (this.options.navbarFilePath.trim().length > 0) {
91
+ const navbarItem = this.generateNavbarItem();
92
+ await this.writeNavbarFile(navbarItem);
93
+ }
94
+ // await this.generateMenuFile()
53
95
  // await this.generateManualRedirectFiles()
54
96
  await this.generateCompatibilityRedirectFiles();
55
97
  await this.copyFiles();
@@ -57,6 +99,15 @@ export class DocusaurusGenerator {
57
99
  return 0;
58
100
  }
59
101
  // --------------------------------------------------------------------------
102
+ /**
103
+ * Prepares the output folder for generated content.
104
+ *
105
+ * @remarks
106
+ * Removes any existing output folder and creates a new empty directory
107
+ * structure for the generated Docusaurus files. This ensures a clean
108
+ * starting state for each generation run and prevents conflicts with
109
+ * previous builds.
110
+ */
60
111
  // https://nodejs.org/en/learn/manipulating-files/working-with-folders-in-nodejs
61
112
  async prepareOutputFolder() {
62
113
  const { outputFolderPath } = this.workspace;
@@ -74,8 +125,19 @@ export class DocusaurusGenerator {
74
125
  await fs.mkdir(outputFolderPath, { recursive: true });
75
126
  }
76
127
  // --------------------------------------------------------------------------
77
- async generateSidebarFile() {
78
- const sidebarCategory = {
128
+ /**
129
+ * Generates the sidebar category structure for Docusaurus navigation.
130
+ *
131
+ * @remarks
132
+ * Creates a hierarchical category structure that organises all generated
133
+ * documentation pages into a logical navigation tree. The structure includes
134
+ * top-level pages and follows the configured collection ordering to maintain
135
+ * consistent navigation patterns.
136
+ *
137
+ * @returns The complete sidebar category configuration object.
138
+ */
139
+ generateSidebarCategory() {
140
+ const sidebarTopCategory = {
79
141
  type: 'category',
80
142
  label: this.options.sidebarCategoryLabel,
81
143
  link: {
@@ -86,37 +148,52 @@ export class DocusaurusGenerator {
86
148
  items: [],
87
149
  };
88
150
  const pages = this.workspace.viewModel.collections.get('pages');
89
- pages.createTopPagesSidebarItems(sidebarCategory);
151
+ pages.createTopPagesSidebarItems(sidebarTopCategory);
90
152
  // The order in sidebarCollectionNames also gives the the order
91
153
  // of items in the sidebar.
92
154
  for (const collectionName of this.workspace.sidebarCollectionNames) {
93
155
  // console.log(collectionName)
94
156
  const collection = this.workspace.viewModel.collections.get(collectionName);
95
157
  if (collection?.isVisibleInSidebar() === true) {
96
- collection.addSidebarItems(sidebarCategory);
158
+ collection.addSidebarItems(sidebarTopCategory);
97
159
  }
98
160
  }
99
- // console.log(
100
- // 'sidebar:', util.inspect(sidebar, { compact: false, depth: 999 })
101
- // )
102
- const jsonString = JSON.stringify(sidebarCategory, null, 2);
103
- const { sidebarCategoryFilePath } = this.options;
104
- const relativeFilePath = sidebarCategoryFilePath;
105
- const absoluteFilePath = path.resolve(relativeFilePath);
106
- // Superfluous if done after prepareOutputFolder()
107
- await fs.mkdir(path.dirname(absoluteFilePath), { recursive: true });
108
- console.log(`Writing sidebar file ${relativeFilePath}...`);
109
- await fs.writeFile(absoluteFilePath, jsonString, 'utf8');
161
+ return sidebarTopCategory;
110
162
  }
111
163
  // --------------------------------------------------------------------------
112
- async generateMenuFile() {
113
- const { menuDropdownFilePath, menuDropdownLabel: label } = this.options;
114
- if (menuDropdownFilePath.trim().length === 0) {
115
- return;
116
- }
164
+ /**
165
+ * Writes the sidebar configuration to a JSON file.
166
+ *
167
+ * @remarks
168
+ * Serialises the sidebar category structure and writes it to the configured
169
+ * output path for integration with Docusaurus. The resulting JSON file
170
+ * provides the complete navigation structure for the documentation site.
171
+ *
172
+ * @param sidebarCategory - The sidebar configuration to write.
173
+ */
174
+ async writeSidebarFile(sidebarCategory) {
175
+ // console.log(util.inspect(sidebar, { compact: false, depth: 999 }));
176
+ // Write the sidebar to file.
177
+ const sidebarFilePath = this.workspace.options.sidebarCategoryFilePath;
178
+ console.log(`Writing sidebar file ${sidebarFilePath}...`);
179
+ const sidebarJson = JSON.stringify(sidebarCategory, null, 2);
180
+ await fs.writeFile(sidebarFilePath, sidebarJson);
181
+ }
182
+ // --------------------------------------------------------------------------
183
+ /**
184
+ * Generates the navbar dropdown configuration for the top navigation.
185
+ *
186
+ * @remarks
187
+ * Creates a navigation menu structure that provides quick access to
188
+ * different sections of the generated documentation. When no items are
189
+ * available, falls back to a simple link format for consistency.
190
+ *
191
+ * @returns The navbar item configuration for Docusaurus.
192
+ */
193
+ generateNavbarItem() {
117
194
  let navbarEntry = {
118
195
  type: 'dropdown',
119
- label,
196
+ label: this.options.navbarLabel,
120
197
  to: this.workspace.menuBaseUrl,
121
198
  position: 'left',
122
199
  items: [],
@@ -128,34 +205,50 @@ export class DocusaurusGenerator {
128
205
  const collection = this.workspace.viewModel.collections.get(collectionName);
129
206
  if (collection?.isVisibleInSidebar() === true) {
130
207
  assert(navbarEntry.items !== undefined);
131
- const items = collection.createMenuItems();
208
+ const items = collection.createNavbarItems();
132
209
  if (items.length > 0) {
133
- navbarEntry.items.push(...collection.createMenuItems());
210
+ navbarEntry.items.push(...collection.createNavbarItems());
134
211
  hasItems = true;
135
212
  }
136
213
  }
137
214
  }
138
215
  if (!hasItems) {
139
216
  navbarEntry = {
140
- label,
217
+ label: this.options.navbarLabel,
141
218
  to: this.workspace.menuBaseUrl,
142
219
  position: 'left',
143
220
  };
144
221
  }
145
- // console.log(
146
- // 'sidebarItems:',
147
- // util.inspect(sidebarItems, { compact: false, depth: 999 })
148
- // )
149
- const jsonString = JSON.stringify(navbarEntry, null, 2);
150
- assert(menuDropdownFilePath.trim().length > 0);
151
- const relativeFilePath = menuDropdownFilePath;
152
- const absoluteFilePath = path.resolve(relativeFilePath);
153
- // Superfluous if done after prepareOutputFolder()
154
- await fs.mkdir(path.dirname(absoluteFilePath), { recursive: true });
155
- console.log(`Writing menu file ${relativeFilePath}...`);
156
- await fs.writeFile(absoluteFilePath, jsonString, 'utf8');
222
+ return navbarEntry;
223
+ }
224
+ /**
225
+ * Writes the navbar configuration to a JSON file.
226
+ *
227
+ * @remarks
228
+ * Serialises the navbar item structure and writes it to the configured
229
+ * output path for integration with Docusaurus navigation. The resulting
230
+ * JSON file provides the top-level navigation menu configuration.
231
+ *
232
+ * @param navbarItem - The navbar configuration to write.
233
+ */
234
+ async writeNavbarFile(navbarItem) {
235
+ // console.log(util.inspect(navbarItem, { compact: false, depth: 999 }));
236
+ // Write the sidebar to file.
237
+ const navbarFilePath = this.workspace.options.navbarFilePath;
238
+ console.log(`Writing navbar file ${navbarFilePath}...`);
239
+ const navbarJson = JSON.stringify(navbarItem, null, 2);
240
+ await fs.writeFile(navbarFilePath, navbarJson);
157
241
  }
158
242
  // --------------------------------------------------------------------------
243
+ /**
244
+ * Generates index Markdown files for all collections.
245
+ *
246
+ * @remarks
247
+ * Creates overview pages for each documentation collection (classes, files,
248
+ * namespaces, etc.) that provide organised access to the content. These
249
+ * index files serve as entry points for navigating large documentation
250
+ * collections efficiently.
251
+ */
159
252
  async generateCollectionsIndexDotMdFiles() {
160
253
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
161
254
  for (const [collectionName, collection] of this.workspace.viewModel
@@ -166,6 +259,15 @@ export class DocusaurusGenerator {
166
259
  // TODO: parallelize
167
260
  }
168
261
  // --------------------------------------------------------------------------
262
+ /**
263
+ * Generates the main index Markdown file for the API documentation.
264
+ *
265
+ * @remarks
266
+ * Creates the landing page that serves as the entry point to the generated
267
+ * documentation, including topics overview and main page content. This
268
+ * combines the Doxygen @mainpage content with a structured topics table
269
+ * for comprehensive navigation.
270
+ */
169
271
  async generateTopIndexDotMdFile() {
170
272
  const { outputFolderPath } = this.workspace;
171
273
  const filePath = `${outputFolderPath}index.md`;
@@ -220,7 +322,16 @@ export class DocusaurusGenerator {
220
322
  });
221
323
  }
222
324
  // --------------------------------------------------------------------------
223
- async generatePerInitialsIndexMdFiles() {
325
+ /**
326
+ * Generates alphabetical index files organised by initial letters.
327
+ *
328
+ * @remarks
329
+ * Creates index pages that group documentation items by their first letter,
330
+ * facilitating alphabetical navigation through large sets of documentation.
331
+ * This approach improves usability when dealing with extensive API
332
+ * documentation containing numerous items.
333
+ */
334
+ async generatePerInitialsIndexDotMdFiles() {
224
335
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
225
336
  for (const [collectionName, collection] of this.workspace.viewModel
226
337
  .collections) {
@@ -230,7 +341,16 @@ export class DocusaurusGenerator {
230
341
  // TODO: parallelize
231
342
  }
232
343
  // --------------------------------------------------------------------------
233
- async generatePages() {
344
+ /**
345
+ * Generates all individual Markdown files for documentation compounds.
346
+ *
347
+ * @remarks
348
+ * Processes all compounds (classes, files, namespaces, etc.) from the
349
+ * Doxygen XML and converts them into Docusaurus-compatible Markdown pages.
350
+ * Supports parallel processing for improved performance whilst maintaining
351
+ * proper error handling and resource management.
352
+ */
353
+ async generateMdFiles() {
234
354
  const promises = [];
235
355
  for (const [, compound] of this.workspace.viewModel.compoundsById) {
236
356
  if (compound instanceof Page) {
@@ -269,6 +389,17 @@ export class DocusaurusGenerator {
269
389
  await Promise.all(promises);
270
390
  }
271
391
  }
392
+ /**
393
+ * Generates a single Markdown page for a documentation compound.
394
+ *
395
+ * @remarks
396
+ * Converts an individual compound (class, file, namespace, etc.) into a
397
+ * properly formatted Docusaurus Markdown file with appropriate front matter
398
+ * and content. The method handles permalink generation, metadata creation,
399
+ * and content rendering for optimal integration with Docusaurus.
400
+ *
401
+ * @param compound - The compound to generate a page for.
402
+ */
272
403
  async generatePage(compound) {
273
404
  const { sidebarId } = compound;
274
405
  assert(sidebarId !== undefined);
@@ -298,6 +429,15 @@ export class DocusaurusGenerator {
298
429
  });
299
430
  }
300
431
  // --------------------------------------------------------------------------
432
+ /**
433
+ * Generates HTML redirect files for backwards compatibility.
434
+ *
435
+ * @remarks
436
+ * Creates redirect files that map original Doxygen URLs to the new
437
+ * Docusaurus URLs, maintaining compatibility with existing bookmarks
438
+ * and external links. This ensures a smooth transition when migrating
439
+ * from Doxygen-generated documentation to Docusaurus.
440
+ */
301
441
  async generateCompatibilityRedirectFiles() {
302
442
  const redirectsOutputFolderPath = this.options.compatibilityRedirectsOutputFolderPath;
303
443
  if (redirectsOutputFolderPath === undefined) {
@@ -382,6 +522,18 @@ export class DocusaurusGenerator {
382
522
  // }
383
523
  // }
384
524
  // --------------------------------------------------------------------------
525
+ /**
526
+ * Generates an HTML redirect file for URL redirection.
527
+ *
528
+ * @remarks
529
+ * Creates a client-side redirect page that automatically forwards visitors
530
+ * from old Doxygen URLs to the corresponding Docusaurus pages. The redirect
531
+ * preserves query parameters and hash fragments to maintain deep linking
532
+ * functionality across the migration.
533
+ *
534
+ * @param filePath - The path where the redirect file should be created.
535
+ * @param permalink - The target URL to redirect to.
536
+ */
385
537
  // If `trailingSlash` is true, Docusaurus redirects do not generate
386
538
  // .html files, therefore we have to do it manually.
387
539
  async generateRedirectFile({ filePath, permalink, }) {
@@ -407,18 +559,27 @@ export class DocusaurusGenerator {
407
559
  this.workspace.writtenHtmlFilesCounter += 1;
408
560
  }
409
561
  // --------------------------------------------------------------------------
562
+ /**
563
+ * Copies required static files to the output directory.
564
+ *
565
+ * @remarks
566
+ * Transfers essential template files including SVG icons and CSS
567
+ * stylesheets to the appropriate locations in the static directory
568
+ * for use by the generated documentation. These assets provide the
569
+ * visual styling and iconography for the documentation site.
570
+ */
410
571
  async copyFiles() {
411
572
  const destImgFolderPath = path.join('static', 'img', 'doxygen2docusaurus');
412
573
  await fs.mkdir(destImgFolderPath, { recursive: true });
413
- let fromFilePath = path.join(this.workspace.projectPath, 'template', 'img', 'document-svgrepo-com.svg');
574
+ let fromFilePath = path.join(this.workspace.projectPath, 'templates', 'img', 'document-svgrepo-com.svg');
414
575
  let toFilePath = path.join(destImgFolderPath, 'document-svgrepo-com.svg');
415
576
  console.log('Copying image file', toFilePath);
416
577
  await fs.copyFile(fromFilePath, toFilePath);
417
- fromFilePath = path.join(this.workspace.projectPath, 'template', 'img', 'folder-svgrepo-com.svg');
578
+ fromFilePath = path.join(this.workspace.projectPath, 'templates', 'img', 'folder-svgrepo-com.svg');
418
579
  toFilePath = path.join(destImgFolderPath, 'folder-svgrepo-com.svg');
419
580
  console.log('Copying image file', toFilePath);
420
581
  await fs.copyFile(fromFilePath, toFilePath);
421
- fromFilePath = path.join(this.workspace.projectPath, 'template', 'css', 'custom.css');
582
+ fromFilePath = path.join(this.workspace.projectPath, 'templates', 'css', 'custom.css');
422
583
  toFilePath = this.options.customCssFilePath;
423
584
  if (!(await folderExists(path.dirname(toFilePath)))) {
424
585
  await fs.mkdir(path.dirname(toFilePath), { recursive: true });
@@ -427,6 +588,15 @@ export class DocusaurusGenerator {
427
588
  await fs.copyFile(fromFilePath, toFilePath);
428
589
  }
429
590
  // --------------------------------------------------------------------------
591
+ /**
592
+ * Copies image files referenced in the documentation.
593
+ *
594
+ * @remarks
595
+ * Transfers all image files that are referenced within the Doxygen
596
+ * documentation to the appropriate static directory, ensuring they
597
+ * remain accessible in the generated Docusaurus site. Duplicate
598
+ * image names are automatically deduplicated for efficiency.
599
+ */
430
600
  async copyImageFiles() {
431
601
  if (this.workspace.dataModel.xml.images.length > 0) {
432
602
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/docusaurus/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/docusaurus/generator.ts"],"names":[],"mappings":"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"}