@xpack/doxygen2docusaurus 2.0.0 → 2.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 (350) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -1
  3. package/bin/doxygen2docusaurus.js +1 -1
  4. package/dist/cli/main.d.ts +0 -14
  5. package/dist/cli/main.d.ts.map +1 -1
  6. package/dist/cli/main.js +0 -34
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/docusaurus/cli-options.d.ts +3 -292
  9. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  10. package/dist/docusaurus/cli-options.js +6 -290
  11. package/dist/docusaurus/cli-options.js.map +1 -1
  12. package/dist/docusaurus/generator.d.ts +0 -172
  13. package/dist/docusaurus/generator.d.ts.map +1 -1
  14. package/dist/docusaurus/generator.js +20 -280
  15. package/dist/docusaurus/generator.js.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
  17. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  18. package/dist/docusaurus/renderers/descriptiontype.js +11 -555
  19. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
  21. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  22. package/dist/docusaurus/renderers/docinternalstype.js +0 -156
  23. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
  25. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  26. package/dist/docusaurus/renderers/doclisttype.js +0 -42
  27. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
  29. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  30. package/dist/docusaurus/renderers/doctabletype.js +1 -113
  31. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
  33. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  34. package/dist/docusaurus/renderers/doctitletype.js +0 -42
  35. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
  37. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  38. package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
  39. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
  41. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  42. package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
  43. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
  45. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  46. package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
  47. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.d.ts +0 -23
  49. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  50. package/dist/docusaurus/renderers/inctype.js +0 -41
  51. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
  53. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  54. package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
  55. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
  57. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  58. package/dist/docusaurus/renderers/listingtype.js +1 -88
  59. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
  61. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  62. package/dist/docusaurus/renderers/paramtype.js +2 -51
  63. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
  65. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  66. package/dist/docusaurus/renderers/referencetype.js +0 -38
  67. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
  69. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  70. package/dist/docusaurus/renderers/reftexttype.js +0 -38
  71. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.d.ts +0 -22
  73. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  74. package/dist/docusaurus/renderers/reftype.js +0 -38
  75. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.d.ts +0 -151
  77. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  78. package/dist/docusaurus/renderers/renderers.js +4 -184
  79. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
  81. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  82. package/dist/docusaurus/renderers/substringtype.js +0 -39
  83. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
  85. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  86. package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
  87. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  88. package/dist/docusaurus/types.d.ts +0 -110
  89. package/dist/docusaurus/types.d.ts.map +1 -1
  90. package/dist/docusaurus/types.js +0 -11
  91. package/dist/docusaurus/types.js.map +1 -1
  92. package/dist/docusaurus/utils.d.ts +0 -214
  93. package/dist/docusaurus/utils.d.ts.map +1 -1
  94. package/dist/docusaurus/utils.js +0 -296
  95. package/dist/docusaurus/utils.js.map +1 -1
  96. package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
  97. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  98. package/dist/docusaurus/view-model/classes-vm.js +9 -225
  99. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  100. package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
  101. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  102. package/dist/docusaurus/view-model/collection-base.js +11 -101
  103. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  104. package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
  105. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  106. package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
  107. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  108. package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
  109. package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
  110. package/dist/docusaurus/view-model/concepts-vm.js +329 -0
  111. package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
  112. package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
  113. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  114. package/dist/docusaurus/view-model/description-anchors.js +0 -71
  115. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  116. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
  117. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  118. package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
  119. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  120. package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
  121. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  122. package/dist/docusaurus/view-model/groups-vm.js +2 -223
  123. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  124. package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
  125. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  126. package/dist/docusaurus/view-model/members-vm.js +17 -702
  127. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  128. package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
  129. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  130. package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
  131. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  132. package/dist/docusaurus/view-model/options.d.ts +0 -43
  133. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  134. package/dist/docusaurus/view-model/options.js +0 -57
  135. package/dist/docusaurus/view-model/options.js.map +1 -1
  136. package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
  137. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  138. package/dist/docusaurus/view-model/pages-vm.js +0 -162
  139. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  140. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
  141. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  142. package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
  143. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  144. package/dist/docusaurus/view-model/view-model.d.ts +0 -125
  145. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  146. package/dist/docusaurus/view-model/view-model.js +20 -182
  147. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  148. package/dist/docusaurus/workspace.d.ts +1 -126
  149. package/dist/docusaurus/workspace.d.ts.map +1 -1
  150. package/dist/docusaurus/workspace.js +8 -221
  151. package/dist/docusaurus/workspace.js.map +1 -1
  152. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
  153. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  154. package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
  155. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  156. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
  157. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  158. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
  159. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  160. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
  161. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  162. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
  163. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  164. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
  165. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  166. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
  167. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  168. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
  169. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  170. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
  171. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  172. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
  173. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  174. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
  175. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  176. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
  177. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  178. package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
  179. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  180. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
  181. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  182. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
  183. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  184. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
  185. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  186. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
  187. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  188. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
  189. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  190. package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
  191. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  192. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
  193. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  194. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
  195. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  196. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
  197. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  198. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
  199. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  200. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
  201. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  202. package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
  203. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  204. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
  205. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  206. package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
  207. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  208. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
  209. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  210. package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
  211. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  212. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
  213. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  214. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
  215. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  216. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
  217. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  218. package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
  219. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  220. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
  221. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  222. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
  223. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  224. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
  225. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  226. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
  227. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  228. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
  229. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  230. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
  231. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  232. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
  233. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  234. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
  235. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  236. package/dist/doxygen/data-model/data-model.d.ts +0 -149
  237. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  238. package/dist/doxygen/data-model/data-model.js +4 -197
  239. package/dist/doxygen/data-model/data-model.js.map +1 -1
  240. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
  241. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  242. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
  243. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  244. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
  245. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  246. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
  247. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  248. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
  249. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  250. package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
  251. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  252. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
  253. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  254. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
  255. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  256. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
  257. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  258. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
  259. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  260. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
  261. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  262. package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
  263. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  264. package/dist/doxygen/data-model/types.d.ts +0 -104
  265. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  266. package/dist/doxygen/data-model/types.js +0 -52
  267. package/dist/doxygen/data-model/types.js.map +1 -1
  268. package/dist/index.d.ts +4 -16
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +4 -42
  271. package/dist/index.js.map +1 -1
  272. package/package.json +45 -51
  273. package/src/cli/main.ts +122 -0
  274. package/src/docusaurus/cli-options.ts +560 -0
  275. package/src/docusaurus/generator.ts +788 -0
  276. package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
  277. package/src/docusaurus/renderers/docinternalstype.ts +354 -0
  278. package/src/docusaurus/renderers/doclisttype.ts +134 -0
  279. package/src/docusaurus/renderers/doctabletype.ts +220 -0
  280. package/src/docusaurus/renderers/doctitletype.ts +77 -0
  281. package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
  282. package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
  283. package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
  284. package/src/docusaurus/renderers/inctype.ts +75 -0
  285. package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
  286. package/src/docusaurus/renderers/listingtype.ts +235 -0
  287. package/src/docusaurus/renderers/paramtype.ts +116 -0
  288. package/src/docusaurus/renderers/referencetype.ts +83 -0
  289. package/src/docusaurus/renderers/reftexttype.ts +81 -0
  290. package/src/docusaurus/renderers/reftype.ts +77 -0
  291. package/src/docusaurus/renderers/renderers.ts +756 -0
  292. package/src/docusaurus/renderers/substringtype.ts +53 -0
  293. package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
  294. package/src/docusaurus/types.ts +187 -0
  295. package/src/docusaurus/utils.ts +409 -0
  296. package/src/docusaurus/view-model/README.md +12 -0
  297. package/src/docusaurus/view-model/classes-vm.ts +1088 -0
  298. package/src/docusaurus/view-model/collection-base.ts +352 -0
  299. package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
  300. package/src/docusaurus/view-model/concepts-vm.ts +719 -0
  301. package/src/docusaurus/view-model/description-anchors.ts +107 -0
  302. package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
  303. package/src/docusaurus/view-model/groups-vm.ts +548 -0
  304. package/src/docusaurus/view-model/members-vm.ts +1943 -0
  305. package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
  306. package/src/docusaurus/view-model/options.ts +95 -0
  307. package/src/docusaurus/view-model/pages-vm.ts +342 -0
  308. package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
  309. package/src/docusaurus/view-model/view-model.ts +513 -0
  310. package/src/docusaurus/workspace.ts +588 -0
  311. package/src/doxygen/data-model/README.md +13 -0
  312. package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
  313. package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
  314. package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
  315. package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
  316. package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
  317. package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
  318. package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
  319. package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
  320. package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
  321. package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
  322. package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
  323. package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
  324. package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
  325. package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
  326. package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
  327. package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
  328. package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
  329. package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
  330. package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
  331. package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
  332. package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
  333. package/src/doxygen/data-model/data-model.ts +377 -0
  334. package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
  335. package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
  336. package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
  337. package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
  338. package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
  339. package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
  340. package/src/doxygen/data-model/types.ts +175 -0
  341. package/src/doxygen/data-model/xsds/README.md +6 -0
  342. package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
  343. package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
  344. package/src/doxygen/data-model/xsds/index.xsd +72 -0
  345. package/src/doxygen/data-model/xsds/xml.xsd +23 -0
  346. package/src/index.ts +261 -0
  347. package/src/tsconfig.json +10 -0
  348. package/dist/doxygen2docusaurus.d.ts +0 -4774
  349. package/dist/tsconfig.tsbuildinfo +0 -1
  350. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,548 @@
1
+ /*
2
+ * This file is part of the xPack project (http://xpack.github.io).
3
+ * Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software
6
+ * for any purpose is hereby granted, under the terms of the MIT license.
7
+ *
8
+ * If a copy of the license was not distributed with this file, it can
9
+ * be obtained from https://opensource.org/licenses/MIT.
10
+ */
11
+
12
+ // ----------------------------------------------------------------------------
13
+
14
+ // import * as util from 'node:util'
15
+ import assert from 'node:assert'
16
+ // import * as fs from 'node:fs/promises'
17
+ // import path from 'node:path'
18
+
19
+ import { CompoundBase } from './compound-base-vm.js'
20
+ import type { CompoundDefDataModel } from '../../doxygen/data-model/compounds/compounddef-dm.js'
21
+ import { flattenPath, sanitizeHierarchicalPath } from '../utils.js'
22
+ import { CollectionBase } from './collection-base.js'
23
+ import type {
24
+ NavbarItem,
25
+ SidebarCategory,
26
+ SidebarCategoryItem,
27
+ SidebarDocItem,
28
+ SidebarItem,
29
+ FrontMatter,
30
+ } from '../types.js'
31
+
32
+ // Support for collapsible tables is experimental.
33
+ // const useCollapsibleTable = false
34
+
35
+ // ----------------------------------------------------------------------------
36
+
37
+ /**
38
+ * Manages the collection of group documentation compounds.
39
+ *
40
+ * @remarks
41
+ * Handles the organisation and generation of group-based documentation,
42
+ * including nested group hierarchies, sidebar generation, and index
43
+ * file creation. Groups provide a way to organise related documentation
44
+ * elements beyond the natural file and namespace structure.
45
+ *
46
+ * @public
47
+ */
48
+ export class Groups extends CollectionBase {
49
+ // compoundsById: Map<string, Group>
50
+ /**
51
+ * Array of top-level groups without parent groups.
52
+ *
53
+ * @remarks
54
+ * Contains groups that are not nested within other groups,
55
+ * used for organising hierarchical displays and group trees.
56
+ */
57
+ topLevelGroups: Group[] = []
58
+
59
+ // --------------------------------------------------------------------------
60
+
61
+ // constructor (workspace: Workspace) {
62
+ // super(workspace)
63
+
64
+ // // this.compoundsById = new Map()
65
+ // }
66
+
67
+ // --------------------------------------------------------------------------
68
+
69
+ /**
70
+ * Adds a group compound to the collection.
71
+ *
72
+ * @remarks
73
+ * Creates a new Group instance from the compound definition and registers
74
+ * it in the collection for later processing and hierarchy creation.
75
+ *
76
+ * @param compoundDef - The compound definition for the group
77
+ * @returns The created Group instance
78
+ */
79
+ override addChild(compoundDef: CompoundDefDataModel): CompoundBase {
80
+ const group = new Group(this, compoundDef)
81
+ this.collectionCompoundsById.set(group.id, group)
82
+
83
+ return group
84
+ }
85
+
86
+ // --------------------------------------------------------------------------
87
+
88
+ /**
89
+ * Creates hierarchical relationships between group compounds.
90
+ *
91
+ * @remarks
92
+ * Establishes parent-child relationships based on group nesting data,
93
+ * building the group hierarchy tree and identifying top-level groups
94
+ * that have no parent groups.
95
+ */
96
+ override createCompoundsHierarchies(): void {
97
+ // Recreate groups hierarchies.
98
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
99
+ for (const [groupId, group] of this.collectionCompoundsById) {
100
+ for (const childGroupId of group.childrenIds) {
101
+ const childGroup = this.collectionCompoundsById.get(childGroupId)
102
+ assert(childGroup !== undefined)
103
+ // console.log('groupId', childGroupId, 'has parent', groupId)
104
+ childGroup.parent = group
105
+ group.children.push(childGroup)
106
+ }
107
+ }
108
+
109
+ // Create the top level groups list.
110
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
+ for (const [groupId, group] of this.collectionCompoundsById) {
112
+ if (group.parent === undefined) {
113
+ // console.log('topGroupId:', groupId)
114
+ this.topLevelGroups.push(group)
115
+ }
116
+ }
117
+ }
118
+
119
+ // --------------------------------------------------------------------------
120
+
121
+ /**
122
+ * Adds group sidebar items to the provided sidebar category.
123
+ *
124
+ * @remarks
125
+ * Creates hierarchical sidebar navigation for groups, either as a "Topics"
126
+ * category when multiple top-level groups exist, or as individual items
127
+ * when only one top-level group is present.
128
+ *
129
+ * @param sidebarCategory - The sidebar category to populate with group items
130
+ *
131
+ * @public
132
+ */
133
+ override addSidebarItems(sidebarCategory: SidebarCategory): void {
134
+ const sidebarItems: SidebarItem[] = []
135
+
136
+ for (const topLevelGroup of this.topLevelGroups) {
137
+ const item = this.createSidebarItemRecursively(topLevelGroup)
138
+ if (item !== undefined) {
139
+ sidebarItems.push(item)
140
+ }
141
+ }
142
+
143
+ if (this.topLevelGroups.length > 1) {
144
+ sidebarCategory.items.push({
145
+ type: 'category',
146
+ label: 'Topics',
147
+ link: {
148
+ type: 'doc',
149
+ id: `${this.workspace.sidebarBaseId}indices/groups/index`,
150
+ },
151
+ collapsed: true,
152
+ items: sidebarItems,
153
+ })
154
+ } else {
155
+ sidebarCategory.items.push(...sidebarItems)
156
+ }
157
+ }
158
+
159
+ /**
160
+ * Creates sidebar items recursively for group hierarchies.
161
+ *
162
+ * @remarks
163
+ * Generates appropriate sidebar structure based on group nesting, creating
164
+ * document items for leaf groups and category items for groups with children.
165
+ * This method builds the hierarchical navigation structure.
166
+ *
167
+ * @param group - The group to create a sidebar item for
168
+ * @returns The created sidebar item, or undefined if the group is not
169
+ * displayable
170
+ *
171
+ * @private
172
+ */
173
+ private createSidebarItemRecursively(group: Group): SidebarItem | undefined {
174
+ if (group.sidebarLabel === undefined || group.sidebarId === undefined) {
175
+ return undefined
176
+ }
177
+
178
+ if (group.children.length === 0) {
179
+ const docItem: SidebarDocItem = {
180
+ type: 'doc',
181
+ label: group.sidebarLabel,
182
+ id: `${this.workspace.sidebarBaseId}${group.sidebarId}`,
183
+ }
184
+ return docItem
185
+ } else {
186
+ const categoryItem: SidebarCategoryItem = {
187
+ type: 'category',
188
+ label: group.sidebarLabel,
189
+ link: {
190
+ type: 'doc',
191
+ id: `${this.workspace.sidebarBaseId}${group.sidebarId}`,
192
+ },
193
+ collapsed: true,
194
+ items: [],
195
+ }
196
+
197
+ for (const childGroup of group.children) {
198
+ const item = this.createSidebarItemRecursively(childGroup)
199
+ if (item !== undefined) {
200
+ categoryItem.items.push(item)
201
+ }
202
+ }
203
+
204
+ return categoryItem
205
+ }
206
+ }
207
+
208
+ // --------------------------------------------------------------------------
209
+
210
+ /**
211
+ * Creates navbar items for group navigation.
212
+ *
213
+ * @remarks
214
+ * Generates appropriate navbar entries based on the number of top-level
215
+ * groups. Creates a "Topics" navigation item when multiple groups exist,
216
+ * or a direct link to the single group when only one is present.
217
+ *
218
+ * @returns Array of navbar items for group navigation
219
+ *
220
+ * @public
221
+ */
222
+ override createNavbarItems(): NavbarItem[] {
223
+ if (this.topLevelGroups.length > 1) {
224
+ const navbarItem: NavbarItem = {
225
+ label: 'Topics',
226
+ to: `${this.workspace.menuBaseUrl}groups/`,
227
+ }
228
+ return [navbarItem]
229
+ } else {
230
+ const topLevelGroup = this.topLevelGroups[0]
231
+ assert(topLevelGroup.sidebarLabel !== undefined)
232
+ assert(topLevelGroup.relativePermalink !== undefined)
233
+ const navbarItem: NavbarItem = {
234
+ label: topLevelGroup.sidebarLabel,
235
+ to: `${this.workspace.menuBaseUrl}${topLevelGroup.relativePermalink}/`,
236
+ }
237
+ return [navbarItem]
238
+ }
239
+ }
240
+
241
+ // --------------------------------------------------------------------------
242
+
243
+ /**
244
+ * Generates the main groups index Markdown file.
245
+ *
246
+ * @remarks
247
+ * Creates a comprehensive index file for topics when multiple top-level
248
+ * groups exist. The index includes a hierarchical tree table showing
249
+ * all groups with their descriptions and navigation links.
250
+ *
251
+ * @public
252
+ */
253
+ override async generateIndexDotMdFile(): Promise<void> {
254
+ if (this.topLevelGroups.length <= 1) {
255
+ return
256
+ }
257
+
258
+ const filePath = this.workspace.outputFolderPath + 'indices/groups/index.md'
259
+ const permalink = 'groups'
260
+
261
+ const frontMatter: FrontMatter = {
262
+ title: 'Topics',
263
+ slug: `${this.workspace.slugBaseUrl}${permalink}`,
264
+ description: 'The topics defined in this project',
265
+ custom_edit_url: null,
266
+ keywords: ['doxygen', 'topics', 'reference'],
267
+ }
268
+
269
+ const contentLines: string[] = []
270
+
271
+ for (const group of this.topLevelGroups) {
272
+ contentLines.push(...this.generateIndexMdFileRecursively(group, 1))
273
+ }
274
+
275
+ if (contentLines.length === 0) {
276
+ return
277
+ }
278
+
279
+ const lines: string[] = []
280
+
281
+ lines.push('The topics defined in this project are:')
282
+
283
+ lines.push(...this.workspace.renderTreeTableToHtmlLines({ contentLines }))
284
+
285
+ if (this.workspace.options.verbose) {
286
+ console.log(`Writing groups index file '${filePath}'...`)
287
+ }
288
+
289
+ await this.workspace.writeOutputMdFile({
290
+ filePath,
291
+ frontMatter,
292
+ bodyLines: lines,
293
+ })
294
+ }
295
+
296
+ /**
297
+ * Generates a topics table for embedding in other documentation.
298
+ *
299
+ * @remarks
300
+ * Creates an HTML tree table representation of all top-level groups with
301
+ * their brief descriptions. This method is used to embed topic summaries
302
+ * in main documentation pages or overview sections.
303
+ *
304
+ * @returns Array of HTML lines representing the topics table
305
+ *
306
+ * @public
307
+ */
308
+ generateTopicsTable(): string[] {
309
+ if (this.topLevelGroups.length === 0) {
310
+ return []
311
+ }
312
+
313
+ const contentLines: string[] = []
314
+ for (const group of this.topLevelGroups) {
315
+ contentLines.push(...this.generateIndexMdFileRecursively(group, 1))
316
+ }
317
+
318
+ if (contentLines.length === 0) {
319
+ return []
320
+ }
321
+
322
+ const lines: string[] = []
323
+
324
+ const projectBrief =
325
+ this.workspace.doxygenOptions.getOptionCdataValue('PROJECT_BRIEF')
326
+ lines.push(`${projectBrief} topics with brief descriptions are:`)
327
+
328
+ lines.push(...this.workspace.renderTreeTableToHtmlLines({ contentLines }))
329
+
330
+ return lines
331
+ }
332
+
333
+ // private generateTableRowRecursively (group: Group): collapsibleTableRow {
334
+ // const label = group.title ?? '???'
335
+
336
+ // const permalink = this.workspace.getPagePermalink(group.id)
337
+ // assert(permalink !== undefined && permalink.length > 1)
338
+
339
+ // const description: string =
340
+ // group.briefDescriptionString?.replace(/[.]$/, '') ?? ''
341
+
342
+ // const tableRow: collapsibleTableRow = {
343
+ // id: group.id,
344
+ // label,
345
+ // link: permalink,
346
+ // description
347
+ // }
348
+
349
+ // if (group.children.length > 0) {
350
+ // tableRow.children = []
351
+ // for (const childGroup of group.children) {
352
+ // tableRow.children.push(
353
+ // this.generateTableRowRecursively(childGroup as Group)
354
+ // )
355
+ // }
356
+ // }
357
+
358
+ // return tableRow
359
+ // }
360
+
361
+ /**
362
+ * Recursively generates index content for group hierarchies.
363
+ *
364
+ * @remarks
365
+ * Creates hierarchical HTML tree table rows for groups and their children,
366
+ * including appropriate indentation and navigation links. This method
367
+ * builds the complete nested structure for group documentation indices.
368
+ *
369
+ * @param group - The group to generate index content for
370
+ * @param depth - The current nesting depth for indentation
371
+ * @returns Array of HTML lines representing the group hierarchy
372
+ *
373
+ * @private
374
+ */
375
+ private generateIndexMdFileRecursively(
376
+ group: Group,
377
+ depth: number
378
+ ): string[] {
379
+ const lines: string[] = []
380
+
381
+ const label = group.titleHtmlString ?? '???'
382
+
383
+ const permalink = this.workspace.getPagePermalink(group.id)
384
+ assert(permalink !== undefined && permalink.length > 0)
385
+
386
+ let description = ''
387
+ if (
388
+ group.briefDescriptionHtmlString !== undefined &&
389
+ group.briefDescriptionHtmlString.length > 0
390
+ ) {
391
+ description = group.briefDescriptionHtmlString.replace(/[.]$/, '')
392
+ }
393
+
394
+ lines.push('')
395
+ lines.push(
396
+ ...this.workspace.renderTreeTableRowToHtmlLines({
397
+ itemLabel: label,
398
+ itemLink: permalink,
399
+ depth,
400
+ description,
401
+ })
402
+ )
403
+
404
+ if (group.children.length > 0) {
405
+ for (const childGroup of group.children) {
406
+ lines.push(
407
+ ...this.generateIndexMdFileRecursively(childGroup, depth + 1)
408
+ )
409
+ }
410
+ }
411
+
412
+ return lines
413
+ }
414
+ }
415
+
416
+ // ----------------------------------------------------------------------------
417
+
418
+ /**
419
+ * Represents a group compound for topic-based documentation organisation.
420
+ *
421
+ * @remarks
422
+ * Groups provide a logical organisation method for related documentation
423
+ * elements beyond the natural file and namespace structure. They support
424
+ * hierarchical nesting and are commonly used for thematic documentation
425
+ * organisation in complex projects.
426
+ *
427
+ * @public
428
+ */
429
+ export class Group extends CompoundBase {
430
+ /**
431
+ * Initialises a new Group instance from compound definition data.
432
+ *
433
+ * @remarks
434
+ * Processes the group metadata including nested group relationships,
435
+ * title extraction, and permalink generation. Sets up the group for
436
+ * integration into the documentation hierarchy and navigation structure.
437
+ *
438
+ * @param collection - The parent Groups collection
439
+ * @param compoundDef - The compound definition containing group metadata
440
+ *
441
+ * @public
442
+ */
443
+ constructor(collection: Groups, compoundDef: CompoundDefDataModel) {
444
+ super(collection, compoundDef)
445
+
446
+ // console.log('Group.constructor', util.inspect(compoundDef))
447
+
448
+ if (Array.isArray(compoundDef.innerGroups)) {
449
+ for (const ref of compoundDef.innerGroups) {
450
+ // console.log('component', compoundDef.id, 'has child', ref.refid)
451
+ this.childrenIds.push(ref.refid)
452
+ }
453
+ }
454
+
455
+ // The group title must be short.
456
+ const { title } = compoundDef
457
+ this.sidebarLabel =
458
+ title !== undefined && title.length > 0
459
+ ? title.trim().replace(/\.$/, '')
460
+ : '???'
461
+
462
+ const { sidebarLabel } = this
463
+ this.indexName = sidebarLabel
464
+
465
+ this.pageTitle = this.sidebarLabel
466
+
467
+ const sanitizedPath = sanitizeHierarchicalPath(this.compoundName)
468
+ this.relativePermalink = `groups/${sanitizedPath}`
469
+
470
+ this.sidebarId = `groups/${flattenPath(sanitizedPath)}`
471
+
472
+ this.createSections()
473
+
474
+ // console.log('0', this.id)
475
+ // console.log('1', this.compoundName, this.titleMdText)
476
+ // console.log('2', this.relativePermalink)
477
+ // console.log('3', this.docusaurusId)
478
+ // console.log('4', this.sidebarLabel)
479
+ // console.log('5', this.indexName)
480
+ // console.log()
481
+ }
482
+
483
+ // --------------------------------------------------------------------------
484
+
485
+ /**
486
+ * Renders the group documentation to Markdown lines.
487
+ *
488
+ * @remarks
489
+ * Generates comprehensive group documentation including brief description,
490
+ * inner compound indices, section indices, detailed description, and
491
+ * sections. The output follows Docusaurus conventions for topic pages
492
+ * with appropriate navigation and content organisation.
493
+ *
494
+ * @param frontMatter - The front matter configuration for the page
495
+ * @returns Array of Markdown lines representing the group documentation
496
+ *
497
+ * @public
498
+ */
499
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
500
+ override renderToLines(frontMatter: FrontMatter): string[] {
501
+ const lines: string[] = []
502
+
503
+ const descriptionTodo = `@defgroup ${this.collection.workspace.renderString(
504
+ this.compoundName,
505
+ 'html'
506
+ )}`
507
+
508
+ // const hasIndices =
509
+ // this.hasSect1InDescription &&
510
+ // (this.hasInnerIndices() || this.hasSections())
511
+ let morePermalink = undefined
512
+ if (this.hasInnerIndices() || this.hasSections()) {
513
+ morePermalink = '#details'
514
+ }
515
+
516
+ lines.push(
517
+ this.renderBriefDescriptionToHtmlString({
518
+ briefDescriptionHtmlString: this.briefDescriptionHtmlString,
519
+ todo: descriptionTodo,
520
+ morePermalink,
521
+ })
522
+ )
523
+
524
+ lines.push(
525
+ ...this.renderInnerIndicesToLines({
526
+ suffixes: ['Groups', 'Classes'],
527
+ })
528
+ )
529
+
530
+ lines.push(...this.renderSectionIndicesToLines())
531
+
532
+ lines.push(
533
+ ...this.renderDetailedDescriptionToHtmlLines({
534
+ briefDescriptionHtmlString: this.briefDescriptionHtmlString,
535
+ detailedDescriptionHtmlLines: this.detailedDescriptionHtmlLines,
536
+ todo: descriptionTodo,
537
+ showHeader: !this.hasSect1InDescription,
538
+ showBrief: this.hasInnerIndices() || this.hasSections(),
539
+ })
540
+ )
541
+
542
+ lines.push(...this.renderSectionsToLines())
543
+
544
+ return lines
545
+ }
546
+ }
547
+
548
+ // ----------------------------------------------------------------------------