@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,354 @@
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 assert from 'node:assert'
15
+ // import * as util from 'node:util'
16
+
17
+ import { ElementLinesRendererBase } from './element-renderer-base.js'
18
+ import type {
19
+ AbstractDocSect1Type,
20
+ AbstractDocSect2Type,
21
+ AbstractDocSect3Type,
22
+ AbstractDocSect4Type,
23
+ AbstractDocSect5Type,
24
+ AbstractDocSect6Type,
25
+ } from '../../doxygen/data-model/compounds/descriptiontype-dm.js'
26
+ import { getPermalinkAnchor } from '../utils.js'
27
+
28
+ // ----------------------------------------------------------------------------
29
+
30
+ // Sections are entered with @sect, @subsect, etc and in Docusaurus
31
+ // start wih H2. The markdown syntax is used to make the titles appear
32
+ // in the table of contents.
33
+
34
+ /**
35
+ * Renderer for Doxygen level-1 section elements.
36
+ *
37
+ * @remarks
38
+ * Converts Doxygen section elements to Docusaurus markdown format.
39
+ * Generates H2 headings with optional anchor IDs for table of contents
40
+ * integration and cross-referencing within documentation.
41
+ *
42
+ * @public
43
+ */
44
+ export class DocS1TypeLinesRenderer extends ElementLinesRendererBase {
45
+ /**
46
+ * Renders a level-1 section element to formatted output lines.
47
+ *
48
+ * @remarks
49
+ * Creates markdown H2 heading with optional anchor for the section title
50
+ * and renders child elements. Removes trailing periods from titles and
51
+ * includes anchor links when section IDs are available.
52
+ *
53
+ * @param element - The level-1 section element to render
54
+ * @param type - The rendering context type
55
+ * @returns Array of markdown lines for the section
56
+ */
57
+ override renderToLines(
58
+ element: AbstractDocSect1Type,
59
+ type: string
60
+ ): string[] {
61
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
62
+
63
+ const lines: string[] = []
64
+
65
+ const title = this.workspace
66
+ .renderElementToString(element.title, 'markdown')
67
+ .trim()
68
+ .replace(/\.$/, '')
69
+ if (title.length > 0) {
70
+ lines.push('')
71
+ if (element.id !== undefined) {
72
+ const anchor = getPermalinkAnchor(element.id)
73
+ lines.push(`## ${title} {#${anchor}}`)
74
+ } else {
75
+ lines.push(`## ${title}}`)
76
+ }
77
+ }
78
+
79
+ lines.push('')
80
+ lines.push(
81
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
82
+ )
83
+
84
+ return lines
85
+ }
86
+ }
87
+
88
+ /**
89
+ * Renderer for Doxygen level-2 section elements.
90
+ *
91
+ * @remarks
92
+ * Converts Doxygen subsection elements to Docusaurus markdown format.
93
+ * Generates H3 headings with optional anchor IDs for hierarchical
94
+ * documentation structure and navigation support.
95
+ *
96
+ * @public
97
+ */
98
+ export class DocS2TypeLinesRenderer extends ElementLinesRendererBase {
99
+ /**
100
+ * Renders a level-2 section element to formatted output lines.
101
+ *
102
+ * @remarks
103
+ * Creates markdown H3 heading with optional anchor for the subsection
104
+ * title and renders child elements. Maintains consistent formatting
105
+ * with parent section renderer patterns.
106
+ *
107
+ * @param element - The level-2 section element to render
108
+ * @param type - The rendering context type
109
+ * @returns Array of markdown lines for the subsection
110
+ */
111
+ override renderToLines(
112
+ element: AbstractDocSect2Type,
113
+ type: string
114
+ ): string[] {
115
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
116
+
117
+ const lines: string[] = []
118
+
119
+ const title = this.workspace
120
+ .renderElementToString(element.title, 'markdown')
121
+ .trim()
122
+ .replace(/\.$/, '')
123
+ if (title.length > 0) {
124
+ lines.push('')
125
+ if (element.id !== undefined) {
126
+ const anchor = getPermalinkAnchor(element.id)
127
+ lines.push(`### ${title} {#${anchor}}`)
128
+ } else {
129
+ lines.push(`### ${title}}`)
130
+ }
131
+ }
132
+ lines.push('')
133
+ lines.push(
134
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
135
+ )
136
+
137
+ return lines
138
+ }
139
+ }
140
+
141
+ /**
142
+ * Renderer for Doxygen level-3 section elements.
143
+ *
144
+ * @remarks
145
+ * Converts Doxygen sub-subsection elements to Docusaurus markdown format.
146
+ * Generates H4 headings with optional anchor IDs for deep hierarchical
147
+ * documentation structure and comprehensive navigation.
148
+ *
149
+ * @public
150
+ */
151
+ export class DocS3TypeLinesRenderer extends ElementLinesRendererBase {
152
+ /**
153
+ * Renders a level-3 section element to formatted output lines.
154
+ *
155
+ * @remarks
156
+ * Creates markdown H4 heading with optional anchor for the sub-subsection
157
+ * title and renders child elements. Follows established patterns for
158
+ * consistent documentation hierarchy.
159
+ *
160
+ * @param element - The level-3 section element to render
161
+ * @param type - The rendering context type
162
+ * @returns Array of markdown lines for the sub-subsection
163
+ */
164
+ override renderToLines(
165
+ element: AbstractDocSect3Type,
166
+ type: string
167
+ ): string[] {
168
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
169
+
170
+ const lines: string[] = []
171
+
172
+ const title = this.workspace
173
+ .renderElementToString(element.title, 'markdown')
174
+ .trim()
175
+ .replace(/\.$/, '')
176
+ if (title.length > 0) {
177
+ lines.push('')
178
+ if (element.id !== undefined) {
179
+ const anchor = getPermalinkAnchor(element.id)
180
+ lines.push(`#### ${title} {#${anchor}}`)
181
+ } else {
182
+ lines.push(`#### ${title}}`)
183
+ }
184
+ }
185
+ lines.push('')
186
+ lines.push(
187
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
188
+ )
189
+
190
+ return lines
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Renderer for Doxygen level-4 section elements.
196
+ *
197
+ * @remarks
198
+ * Converts deep Doxygen section elements to Docusaurus markdown format.
199
+ * Generates H5 headings with optional anchor IDs for detailed documentation
200
+ * hierarchies and fine-grained content organisation.
201
+ *
202
+ * @public
203
+ */
204
+ export class DocS4TypeLinesRenderer extends ElementLinesRendererBase {
205
+ /**
206
+ * Renders a level-4 section element to formatted output lines.
207
+ *
208
+ * @remarks
209
+ * Creates markdown H5 heading with optional anchor for deep section
210
+ * titles and renders child elements. Maintains hierarchy consistency
211
+ * for complex documentation structures.
212
+ *
213
+ * @param element - The level-4 section element to render
214
+ * @param type - The rendering context type
215
+ * @returns Array of markdown lines for the deep section
216
+ */
217
+ override renderToLines(
218
+ element: AbstractDocSect4Type,
219
+ type: string
220
+ ): string[] {
221
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
222
+
223
+ const lines: string[] = []
224
+
225
+ const title = this.workspace
226
+ .renderElementToString(element.title, 'markdown')
227
+ .trim()
228
+ .replace(/\.$/, '')
229
+ if (title.length > 0) {
230
+ lines.push('')
231
+ if (element.id !== undefined) {
232
+ const anchor = getPermalinkAnchor(element.id)
233
+ lines.push(`##### ${title} {#${anchor}}`)
234
+ } else {
235
+ lines.push(`##### ${title}}`)
236
+ }
237
+ }
238
+ lines.push('')
239
+ lines.push(
240
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
241
+ )
242
+
243
+ return lines
244
+ }
245
+ }
246
+
247
+ /**
248
+ * Renderer for Doxygen level-5 section elements.
249
+ *
250
+ * @remarks
251
+ * Converts very deep Doxygen section elements to Docusaurus markdown format.
252
+ * Generates H6 headings with optional anchor IDs for extremely detailed
253
+ * documentation hierarchies and comprehensive content structuring.
254
+ *
255
+ * @public
256
+ */
257
+ export class DocS5TypeLinesRenderer extends ElementLinesRendererBase {
258
+ /**
259
+ * Renders a level-5 section element to formatted output lines.
260
+ *
261
+ * @remarks
262
+ * Creates markdown H6 heading with optional anchor for very deep section
263
+ * titles and renders child elements. Supports maximum depth documentation
264
+ * organisation for complex technical content.
265
+ *
266
+ * @param element - The level-5 section element to render
267
+ * @param type - The rendering context type
268
+ * @returns Array of markdown lines for the very deep section
269
+ */
270
+ override renderToLines(
271
+ element: AbstractDocSect5Type,
272
+ type: string
273
+ ): string[] {
274
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
275
+
276
+ const lines: string[] = []
277
+
278
+ const title = this.workspace
279
+ .renderElementToString(element.title, 'markdown')
280
+ .trim()
281
+ .replace(/\.$/, '')
282
+ if (title.length > 0) {
283
+ lines.push('')
284
+ if (element.id !== undefined) {
285
+ const anchor = getPermalinkAnchor(element.id)
286
+ lines.push(`###### ${title} {#${anchor}}`)
287
+ } else {
288
+ lines.push(`###### ${title}}`)
289
+ }
290
+ }
291
+ lines.push('')
292
+ lines.push(
293
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
294
+ )
295
+
296
+ return lines
297
+ }
298
+ }
299
+
300
+ /**
301
+ * Renderer for Doxygen level-6 section elements.
302
+ *
303
+ * @remarks
304
+ * Converts the deepest Doxygen section elements to Docusaurus format.
305
+ * Uses bold text formatting instead of headers due to markdown limitations
306
+ * at this depth level while maintaining anchor functionality.
307
+ *
308
+ * @public
309
+ */
310
+ export class DocS6TypeLinesRenderer extends ElementLinesRendererBase {
311
+ /**
312
+ * Renders a level-6 section element to formatted output lines.
313
+ *
314
+ * @remarks
315
+ * Creates bold text with optional anchor for maximum depth sections
316
+ * and renders child elements. Uses alternative formatting since
317
+ * markdown heading levels are exhausted at this depth.
318
+ *
319
+ * @param element - The level-6 section element to render
320
+ * @param type - The rendering context type
321
+ * @returns Array of formatted lines for the deepest section
322
+ */
323
+ override renderToLines(
324
+ element: AbstractDocSect6Type,
325
+ type: string
326
+ ): string[] {
327
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
328
+
329
+ const lines: string[] = []
330
+
331
+ const title = this.workspace
332
+ .renderElementToString(element.title, 'markdown')
333
+ .trim()
334
+ .replace(/\.$/, '')
335
+ if (title.length > 0) {
336
+ lines.push('')
337
+ if (element.id !== undefined) {
338
+ const anchor = getPermalinkAnchor(element.id)
339
+ lines.push(`####### ${title} {#${anchor}}`)
340
+ } else {
341
+ lines.push(`####### ${title}}`)
342
+ }
343
+ }
344
+
345
+ lines.push('')
346
+ lines.push(
347
+ ...this.workspace.renderElementsArrayToLines(element.children, type)
348
+ )
349
+
350
+ return lines
351
+ }
352
+ }
353
+
354
+ // ----------------------------------------------------------------------------
@@ -0,0 +1,134 @@
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 assert from 'node:assert'
15
+ // import * as util from 'node:util'
16
+
17
+ import { ElementLinesRendererBase } from './element-renderer-base.js'
18
+ import {
19
+ type AbstractDocListType,
20
+ ItemizedListDataModel,
21
+ OrderedListDataModel,
22
+ } from '../../doxygen/data-model/compounds/descriptiontype-dm.js'
23
+
24
+ // ----------------------------------------------------------------------------
25
+
26
+ /**
27
+ * Renderer for list type elements in documentation.
28
+ *
29
+ * @remarks
30
+ * Handles the rendering of both ordered and unordered lists as parsed from
31
+ * Doxygen XML, converting them into appropriate HTML markup with proper
32
+ * styling classes and list type attributes.
33
+ *
34
+ * @public
35
+ */
36
+ export class DocListTypeLinesRenderer extends ElementLinesRendererBase {
37
+ /**
38
+ * Renders a list element to formatted output lines.
39
+ *
40
+ * @remarks
41
+ * Converts Doxygen list elements into HTML lists (ul/ol) with appropriate
42
+ * CSS classes and type attributes. Handles both itemised (unordered) and
43
+ * ordered lists, including special check-style formatting when needed.
44
+ *
45
+ * @param element - The list element to render
46
+ * @param type - The rendering context type
47
+ * @returns Array of formatted output lines
48
+ */
49
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
+ override renderToLines(element: AbstractDocListType, type: string): string[] {
51
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
52
+ // console.log(element)
53
+
54
+ let classCheck = ''
55
+ for (const listItem of element.listItems) {
56
+ if (listItem.override !== undefined) {
57
+ classCheck = ' check'
58
+ break
59
+ }
60
+ }
61
+
62
+ const lines: string[] = []
63
+
64
+ lines.push('')
65
+ if (element instanceof ItemizedListDataModel) {
66
+ lines.push(`<ul class="doxyList ${classCheck}">`)
67
+ } else if (element instanceof OrderedListDataModel) {
68
+ if (element.type.length > 0) {
69
+ lines.push(`<ol class="doxyList" type="${element.type}">`)
70
+ } else {
71
+ lines.push('<ol class="doxyList" type="1">')
72
+ }
73
+ }
74
+
75
+ for (const listItem of element.listItems) {
76
+ let classChecked = ''
77
+ if (listItem.override !== undefined) {
78
+ classChecked = ` class="${listItem.override}"`
79
+ }
80
+
81
+ if (listItem.paras !== undefined) {
82
+ // console.log(listItem.paras)
83
+ this.workspace.skipElementsPara(listItem.paras)
84
+
85
+ if (listItem.paras.length > 0) {
86
+ let text = ''
87
+ text += `<li${classChecked}>`
88
+
89
+ const paraLines: string[] = []
90
+ for (const para of listItem.paras) {
91
+ paraLines.push(
92
+ this.workspace.renderElementToString(para, 'html').trim()
93
+ )
94
+ }
95
+ // Two \n to separate paragraphs when there is no <p>.
96
+ text += paraLines.join('\n\n')
97
+ text += '</li>'
98
+ lines.push(text)
99
+ }
100
+ }
101
+ if (listItem.value !== undefined) {
102
+ if (this.workspace.options.verbose) {
103
+ console.warn(
104
+ 'Value',
105
+ listItem.value,
106
+ 'ignored in',
107
+ this.constructor.name
108
+ )
109
+ }
110
+ }
111
+ }
112
+
113
+ if (element instanceof ItemizedListDataModel) {
114
+ lines.push('</ul>')
115
+ } else if (element instanceof OrderedListDataModel) {
116
+ lines.push('</ol>')
117
+ }
118
+
119
+ if (element.start !== undefined) {
120
+ if (this.workspace.options.verbose) {
121
+ console.warn(
122
+ 'Start',
123
+ element.start,
124
+ 'ignored in',
125
+ this.constructor.name
126
+ )
127
+ }
128
+ }
129
+
130
+ return lines
131
+ }
132
+ }
133
+
134
+ // ----------------------------------------------------------------------------
@@ -0,0 +1,220 @@
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 assert from 'node:assert'
15
+ // import * as util from 'node:util'
16
+
17
+ import {
18
+ ElementLinesRendererBase,
19
+ ElementStringRendererBase,
20
+ } from './element-renderer-base.js'
21
+ import type {
22
+ AbstractDocCaptionType,
23
+ AbstractDocEntryType,
24
+ AbstractDocRowType,
25
+ AbstractDocTableType,
26
+ } from '../../doxygen/data-model/compounds/descriptiontype-dm.js'
27
+
28
+ // ----------------------------------------------------------------------------
29
+
30
+ /**
31
+ * Renderer for Doxygen document table elements.
32
+ *
33
+ * @remarks
34
+ * Converts Doxygen table structures to HTML table format with optional
35
+ * captions. Processes table rows and maintains styling through CSS
36
+ * classes for consistent documentation presentation.
37
+ *
38
+ * @public
39
+ */
40
+ export class DocTableTypeLinesRenderer extends ElementLinesRendererBase {
41
+ /**
42
+ * Renders a document table element to formatted output lines.
43
+ *
44
+ * @remarks
45
+ * Creates HTML table structure with optional caption and processes
46
+ * all table rows. Applies CSS classes for styling and maintains
47
+ * proper table markup for documentation display.
48
+ *
49
+ * @param element - The document table element to render
50
+ * @param type - The rendering context type (unused in implementation)
51
+ * @returns Array of HTML strings forming the table structure
52
+ */
53
+ override renderToLines(
54
+ element: AbstractDocTableType,
55
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
56
+ type: string
57
+ ): string[] {
58
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
59
+
60
+ const lines: string[] = []
61
+
62
+ lines.push('')
63
+ lines.push('<table class="doxyTable">')
64
+ if (element.caption !== undefined) {
65
+ lines.push(this.workspace.renderElementToString(element.caption, 'html'))
66
+ }
67
+ lines.push(
68
+ ...this.workspace.renderElementsArrayToLines(element.rows, 'html')
69
+ )
70
+ lines.push('</table>')
71
+
72
+ return lines
73
+ }
74
+ }
75
+
76
+ /**
77
+ * Renderer for Doxygen document table caption elements.
78
+ *
79
+ * @remarks
80
+ * Generates HTML caption elements for table titles and descriptions.
81
+ * Processes caption content to provide contextual information about
82
+ * table contents and purpose within documentation.
83
+ *
84
+ * @public
85
+ */
86
+ export class DocCaptionLinesRenderer extends ElementLinesRendererBase {
87
+ /**
88
+ * Renders a document caption element to formatted output lines.
89
+ *
90
+ * @remarks
91
+ * Creates HTML caption element containing the processed caption content.
92
+ * Renders child elements to build complete caption text with proper
93
+ * markup and formatting preservation.
94
+ *
95
+ * @param element - The document caption element to render
96
+ * @param type - The rendering context type (unused in implementation)
97
+ * @returns Array containing the HTML caption element
98
+ */
99
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
100
+ renderToLines(element: AbstractDocCaptionType, type: string): string[] {
101
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
102
+
103
+ let text = ''
104
+
105
+ let attributes = ''
106
+ if (element.id.length > 0) {
107
+ attributes += ` id="${element.id}"`
108
+ }
109
+ text += `<caption${attributes}>`
110
+ text += this.workspace
111
+ .renderElementsArrayToString(element.children, 'html')
112
+ .trim()
113
+ text += '</caption>'
114
+
115
+ return [text]
116
+ }
117
+ }
118
+
119
+ /**
120
+ * Renderer for Doxygen document table row elements.
121
+ *
122
+ * @remarks
123
+ * Generates HTML table row structure containing table entries.
124
+ * Processes all entry elements within the row to build complete
125
+ * table row markup for documentation display.
126
+ *
127
+ * @public
128
+ */
129
+ export class DocRowTypeLinesRenderer extends ElementLinesRendererBase {
130
+ /**
131
+ * Renders a document table row element to formatted output lines.
132
+ *
133
+ * @remarks
134
+ * Creates HTML table row tags around rendered table entries.
135
+ * Processes entry elements to generate the complete row structure
136
+ * with proper table markup.
137
+ *
138
+ * @param element - The document table row element to render
139
+ * @param type - The rendering context type (unused in implementation)
140
+ * @returns Array of HTML strings forming the table row
141
+ */
142
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
+ override renderToLines(element: AbstractDocRowType, type: string): string[] {
144
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
145
+
146
+ const lines: string[] = []
147
+
148
+ lines.push('<tr>')
149
+ lines.push(
150
+ ...this.workspace.renderElementsArrayToLines(element.entries, 'html')
151
+ )
152
+ lines.push('</tr>')
153
+
154
+ return lines
155
+ }
156
+ }
157
+
158
+ /**
159
+ * Renderer for Doxygen document table entry elements.
160
+ *
161
+ * @remarks
162
+ * Converts table cell elements to HTML table data or header cells
163
+ * with appropriate attributes. Handles cell spanning, alignment,
164
+ * and styling attributes for flexible table presentation.
165
+ *
166
+ * @public
167
+ */
168
+ export class DocEntryTypeStringRenderer extends ElementStringRendererBase {
169
+ /**
170
+ * Renders a document table entry element to a formatted string.
171
+ *
172
+ * @remarks
173
+ * Creates HTML table cell (td or th) with attributes including
174
+ * colspan, rowspan, alignment, and styling. Processes cell content
175
+ * and applies appropriate markup based on header status.
176
+ *
177
+ * @param element - The document table entry element to render
178
+ * @param type - The rendering context type (unused in implementation)
179
+ * @returns The formatted HTML table cell string
180
+ */
181
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
182
+ renderToString(element: AbstractDocEntryType, type: string): string {
183
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
184
+
185
+ let text = ''
186
+
187
+ let attributes = ''
188
+ if (element.colspan !== undefined) {
189
+ attributes += ` colspan="${element.colspan.toString()}"`
190
+ }
191
+ if (element.rowspan !== undefined) {
192
+ attributes += ` rowspan="${element.rowspan.toString()}"`
193
+ }
194
+ if (element.align !== undefined) {
195
+ attributes += ` align="${element.align}"`
196
+ }
197
+ if (element.valign !== undefined) {
198
+ attributes += ` valign="${element.valign}"`
199
+ }
200
+ if (element.width !== undefined) {
201
+ attributes += ` width="${element.width}"`
202
+ }
203
+ if (element.classs !== undefined) {
204
+ attributes += ` class="${element.classs}"`
205
+ }
206
+
207
+ this.workspace.skipElementsPara(element.paras)
208
+ const entry = this.workspace
209
+ .renderElementsArrayToString(element.paras, 'html')
210
+ .trim()
211
+ if (element.thead) {
212
+ text += `<th${attributes}>${entry}</th>`
213
+ } else {
214
+ text += `<td${attributes}>${entry}</td>`
215
+ }
216
+ return text
217
+ }
218
+ }
219
+
220
+ // ----------------------------------------------------------------------------