@xpack/doxygen2docusaurus 2.0.0 → 2.2.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 (365) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -1
  3. package/bin/doxygen2docusaurus.js +5 -5
  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/conceptparts.d.ts +9 -0
  17. package/dist/docusaurus/renderers/conceptparts.d.ts.map +1 -0
  18. package/dist/docusaurus/renderers/conceptparts.js +21 -0
  19. package/dist/docusaurus/renderers/conceptparts.js.map +1 -0
  20. package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
  21. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  22. package/dist/docusaurus/renderers/descriptiontype.js +11 -555
  23. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  24. package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
  25. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  26. package/dist/docusaurus/renderers/docinternalstype.js +0 -156
  27. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  28. package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
  29. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  30. package/dist/docusaurus/renderers/doclisttype.js +0 -42
  31. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  32. package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
  33. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  34. package/dist/docusaurus/renderers/doctabletype.js +1 -113
  35. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  36. package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
  37. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  38. package/dist/docusaurus/renderers/doctitletype.js +0 -42
  39. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  40. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
  41. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  42. package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
  43. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  44. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
  45. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  46. package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
  47. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  48. package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
  49. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  50. package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
  51. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  52. package/dist/docusaurus/renderers/inctype.d.ts +0 -23
  53. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  54. package/dist/docusaurus/renderers/inctype.js +0 -41
  55. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  56. package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
  57. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  58. package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
  59. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  60. package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
  61. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  62. package/dist/docusaurus/renderers/listingtype.js +1 -88
  63. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  64. package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
  65. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  66. package/dist/docusaurus/renderers/paramtype.js +2 -51
  67. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  68. package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
  69. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  70. package/dist/docusaurus/renderers/referencetype.js +0 -38
  71. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  72. package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
  73. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  74. package/dist/docusaurus/renderers/reftexttype.js +0 -38
  75. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  76. package/dist/docusaurus/renderers/reftype.d.ts +0 -22
  77. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  78. package/dist/docusaurus/renderers/reftype.js +0 -38
  79. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  80. package/dist/docusaurus/renderers/renderers.d.ts +0 -151
  81. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  82. package/dist/docusaurus/renderers/renderers.js +15 -186
  83. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  84. package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
  85. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  86. package/dist/docusaurus/renderers/substringtype.js +0 -39
  87. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  88. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
  89. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  90. package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
  91. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  92. package/dist/docusaurus/types.d.ts +0 -110
  93. package/dist/docusaurus/types.d.ts.map +1 -1
  94. package/dist/docusaurus/types.js +0 -11
  95. package/dist/docusaurus/types.js.map +1 -1
  96. package/dist/docusaurus/utils.d.ts +0 -214
  97. package/dist/docusaurus/utils.d.ts.map +1 -1
  98. package/dist/docusaurus/utils.js +0 -296
  99. package/dist/docusaurus/utils.js.map +1 -1
  100. package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
  101. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  102. package/dist/docusaurus/view-model/classes-vm.js +9 -225
  103. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  104. package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
  105. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  106. package/dist/docusaurus/view-model/collection-base.js +11 -101
  107. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  108. package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
  109. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  110. package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
  111. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  112. package/dist/docusaurus/view-model/concepts-vm.d.ts +27 -0
  113. package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
  114. package/dist/docusaurus/view-model/concepts-vm.js +337 -0
  115. package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
  116. package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
  117. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  118. package/dist/docusaurus/view-model/description-anchors.js +0 -71
  119. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  120. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
  121. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  122. package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
  123. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  124. package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
  125. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  126. package/dist/docusaurus/view-model/groups-vm.js +2 -223
  127. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  128. package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
  129. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  130. package/dist/docusaurus/view-model/members-vm.js +17 -702
  131. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  132. package/dist/docusaurus/view-model/namespaces-vm.d.ts +5 -199
  133. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  134. package/dist/docusaurus/view-model/namespaces-vm.js +85 -284
  135. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  136. package/dist/docusaurus/view-model/options.d.ts +0 -43
  137. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  138. package/dist/docusaurus/view-model/options.js +0 -57
  139. package/dist/docusaurus/view-model/options.js.map +1 -1
  140. package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
  141. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  142. package/dist/docusaurus/view-model/pages-vm.js +39 -162
  143. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  144. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
  145. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  146. package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
  147. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  148. package/dist/docusaurus/view-model/view-model.d.ts +0 -125
  149. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  150. package/dist/docusaurus/view-model/view-model.js +20 -182
  151. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  152. package/dist/docusaurus/workspace.d.ts +1 -126
  153. package/dist/docusaurus/workspace.d.ts.map +1 -1
  154. package/dist/docusaurus/workspace.js +8 -221
  155. package/dist/docusaurus/workspace.js.map +1 -1
  156. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +7 -492
  157. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  158. package/dist/doxygen/data-model/compounds/compounddef-dm.js +28 -672
  159. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  160. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
  161. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  162. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
  163. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  164. package/dist/doxygen/data-model/compounds/concepts-dm.d.ts +23 -0
  165. package/dist/doxygen/data-model/compounds/concepts-dm.d.ts.map +1 -0
  166. package/dist/doxygen/data-model/compounds/concepts-dm.js +94 -0
  167. package/dist/doxygen/data-model/compounds/concepts-dm.js.map +1 -0
  168. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
  169. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  170. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
  171. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  172. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
  173. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  174. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
  175. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  176. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
  177. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  178. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
  179. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  180. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
  181. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  182. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
  183. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  184. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
  185. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  186. package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
  187. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  188. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
  189. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  190. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
  191. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  192. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
  193. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  194. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
  195. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  196. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
  197. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  198. package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
  199. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  200. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
  201. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  202. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
  203. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  204. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
  205. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  206. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
  207. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  208. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
  209. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  210. package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
  211. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  212. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
  213. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  214. package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
  215. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  216. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
  217. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  218. package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
  219. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  220. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
  221. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  222. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
  223. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  224. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
  225. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  226. package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
  227. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  228. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
  229. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  230. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
  231. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  232. package/dist/doxygen/data-model/compounds/requirements-dm.d.ts +2 -0
  233. package/dist/doxygen/data-model/compounds/requirements-dm.d.ts.map +1 -0
  234. package/dist/doxygen/data-model/compounds/requirements-dm.js +2 -0
  235. package/dist/doxygen/data-model/compounds/requirements-dm.js.map +1 -0
  236. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
  237. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  238. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
  239. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  240. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
  241. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  242. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
  243. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  244. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
  245. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  246. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
  247. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  248. package/dist/doxygen/data-model/data-model.d.ts +0 -149
  249. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  250. package/dist/doxygen/data-model/data-model.js +8 -200
  251. package/dist/doxygen/data-model/data-model.js.map +1 -1
  252. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
  253. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  254. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
  255. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  256. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
  257. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  258. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
  259. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  260. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
  261. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  262. package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
  263. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  264. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
  265. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  266. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
  267. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  268. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
  269. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  270. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
  271. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  272. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
  273. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  274. package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
  275. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  276. package/dist/doxygen/data-model/types.d.ts +0 -104
  277. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  278. package/dist/doxygen/data-model/types.js +0 -52
  279. package/dist/doxygen/data-model/types.js.map +1 -1
  280. package/dist/index.d.ts +5 -16
  281. package/dist/index.d.ts.map +1 -1
  282. package/dist/index.js +5 -42
  283. package/dist/index.js.map +1 -1
  284. package/package.json +49 -52
  285. package/src/cli/main.ts +122 -0
  286. package/src/docusaurus/cli-options.ts +560 -0
  287. package/src/docusaurus/generator.ts +788 -0
  288. package/src/docusaurus/renderers/conceptparts.ts +119 -0
  289. package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
  290. package/src/docusaurus/renderers/docinternalstype.ts +354 -0
  291. package/src/docusaurus/renderers/doclisttype.ts +134 -0
  292. package/src/docusaurus/renderers/doctabletype.ts +220 -0
  293. package/src/docusaurus/renderers/doctitletype.ts +77 -0
  294. package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
  295. package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
  296. package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
  297. package/src/docusaurus/renderers/inctype.ts +75 -0
  298. package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
  299. package/src/docusaurus/renderers/listingtype.ts +235 -0
  300. package/src/docusaurus/renderers/paramtype.ts +116 -0
  301. package/src/docusaurus/renderers/referencetype.ts +83 -0
  302. package/src/docusaurus/renderers/reftexttype.ts +81 -0
  303. package/src/docusaurus/renderers/reftype.ts +77 -0
  304. package/src/docusaurus/renderers/renderers.ts +812 -0
  305. package/src/docusaurus/renderers/substringtype.ts +53 -0
  306. package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
  307. package/src/docusaurus/types.ts +187 -0
  308. package/src/docusaurus/utils.ts +409 -0
  309. package/src/docusaurus/view-model/README.md +12 -0
  310. package/src/docusaurus/view-model/classes-vm.ts +1088 -0
  311. package/src/docusaurus/view-model/collection-base.ts +352 -0
  312. package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
  313. package/src/docusaurus/view-model/concepts-vm.ts +749 -0
  314. package/src/docusaurus/view-model/description-anchors.ts +107 -0
  315. package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
  316. package/src/docusaurus/view-model/groups-vm.ts +548 -0
  317. package/src/docusaurus/view-model/members-vm.ts +1943 -0
  318. package/src/docusaurus/view-model/namespaces-vm.ts +1037 -0
  319. package/src/docusaurus/view-model/options.ts +95 -0
  320. package/src/docusaurus/view-model/pages-vm.ts +389 -0
  321. package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
  322. package/src/docusaurus/view-model/view-model.ts +513 -0
  323. package/src/docusaurus/workspace.ts +588 -0
  324. package/src/doxygen/data-model/README.md +13 -0
  325. package/src/doxygen/data-model/compounds/compounddef-dm.ts +1230 -0
  326. package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
  327. package/src/doxygen/data-model/compounds/concepts-dm.ts +362 -0
  328. package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10114 -0
  329. package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
  330. package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
  331. package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
  332. package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
  333. package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
  334. package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
  335. package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
  336. package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +881 -0
  337. package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
  338. package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
  339. package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
  340. package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
  341. package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
  342. package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
  343. package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
  344. package/src/doxygen/data-model/compounds/requirements-dm.ts +50 -0
  345. package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
  346. package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +564 -0
  347. package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
  348. package/src/doxygen/data-model/data-model.ts +378 -0
  349. package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
  350. package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
  351. package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
  352. package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
  353. package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
  354. package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
  355. package/src/doxygen/data-model/types.ts +175 -0
  356. package/src/doxygen/data-model/xsds/README.md +6 -0
  357. package/src/doxygen/data-model/xsds/compound.xsd +1788 -0
  358. package/src/doxygen/data-model/xsds/doxyfile.xsd +365 -0
  359. package/src/doxygen/data-model/xsds/index.xsd +74 -0
  360. package/src/doxygen/data-model/xsds/xml.xsd +23 -0
  361. package/src/index.ts +267 -0
  362. package/src/tsconfig.json +12 -0
  363. package/dist/doxygen2docusaurus.d.ts +0 -4774
  364. package/dist/tsconfig.tsbuildinfo +0 -1
  365. package/dist/tsdoc-metadata.json +0 -11
@@ -1,15 +1,3 @@
1
- /*
2
- * This file is part of the xPack project (http://xpack.github.io).
3
- * Copyright (c) 2025 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
- // import * as util from 'node:util'
13
1
  import assert from 'node:assert';
14
2
  import { CompoundBase } from './compound-base-vm.js';
15
3
  import { CollectionBase } from './collection-base.js';
@@ -17,82 +5,17 @@ import { flattenPath, sanitizeHierarchicalPath } from '../utils.js';
17
5
  import { FileTreeEntry } from './tree-entries-vm.js';
18
6
  import { Class } from './classes-vm.js';
19
7
  import { Namespace } from './namespaces-vm.js';
20
- // ----------------------------------------------------------------------------
21
- /**
22
- * Manages the collection of file and folder documentation compounds.
23
- *
24
- * @remarks
25
- * Handles the organisation and generation of file-based documentation,
26
- * including folder hierarchies, file listings, sidebar generation, and
27
- * index file creation. Provides a structured view of the source code
28
- * organisation with proper navigation support.
29
- *
30
- * @public
31
- */
8
+ import { Concept } from './concepts-vm.js';
32
9
  export class FilesAndFolders extends CollectionBase {
33
- // compoundsById: Map<string, File | Folder>
34
- /**
35
- * Map of folder compounds indexed by identifier.
36
- *
37
- * @remarks
38
- * Stores all folder instances for efficient lookup and hierarchy
39
- * construction, separate from the main compounds collection.
40
- */
41
10
  compoundFoldersById;
42
- /**
43
- * Map of file compounds indexed by identifier.
44
- *
45
- * @remarks
46
- * Stores all file instances for efficient lookup and organisation,
47
- * separate from the main compounds collection.
48
- */
49
11
  compoundFilesById;
50
- /**
51
- * Array of top-level folders without parent folders.
52
- *
53
- * @remarks
54
- * Contains folders that are at the root level of the documentation
55
- * hierarchy, used for organising hierarchical displays.
56
- */
57
12
  topLevelFolders = [];
58
- /**
59
- * Array of top-level files without parent folders.
60
- *
61
- * @remarks
62
- * Contains files that are at the root level of the documentation
63
- * hierarchy, not contained within any documented folder.
64
- */
65
13
  topLevelFiles = [];
66
- // folders: Folders
67
- // --------------------------------------------------------------------------
68
- /**
69
- * Creates a new files and folders collection.
70
- *
71
- * @remarks
72
- * Initialises the collection with separate maps for folders and files
73
- * to enable efficient organisation and hierarchy construction.
74
- *
75
- * @param workspace - The workspace instance
76
- */
77
14
  constructor(workspace) {
78
15
  super(workspace);
79
- // this.compoundsById = new Map()
80
16
  this.compoundFoldersById = new Map();
81
17
  this.compoundFilesById = new Map();
82
18
  }
83
- // --------------------------------------------------------------------------
84
- /**
85
- * Adds a file or folder compound to the collection.
86
- *
87
- * @remarks
88
- * Creates either a File or Folder instance based on the compound kind,
89
- * registers it in the appropriate collections, and returns the created
90
- * instance for further processing.
91
- *
92
- * @param compoundDef - The compound definition for the file or folder
93
- * @returns The created File or Folder instance
94
- * @throws Error if compound kind is not 'file' or 'dir'
95
- */
96
19
  addChild(compoundDef) {
97
20
  if (compoundDef.kind === 'file') {
98
21
  const file = new File(this, compoundDef);
@@ -110,19 +33,7 @@ export class FilesAndFolders extends CollectionBase {
110
33
  throw new Error(`kind ${compoundDef.kind} not implemented in ${this.constructor.name}`);
111
34
  }
112
35
  }
113
- // --------------------------------------------------------------------------
114
- /**
115
- * Creates hierarchical relationships between file and folder compounds.
116
- *
117
- * @remarks
118
- * Establishes parent-child relationships for folders and files,
119
- * builds the complete file hierarchy, and generates relative paths
120
- * and permalinks for all compounds. Registers files in the workspace
121
- * for global lookup and identifies top-level entities.
122
- */
123
36
  createCompoundsHierarchies() {
124
- // Recreate files and folders hierarchies.
125
- // console.log(this.compoundsById.size)
126
37
  for (const [, folder] of this.compoundFoldersById) {
127
38
  for (const childFolderId of folder.childrenFolderIds) {
128
39
  const childFolder = this.compoundFoldersById.get(childFolderId);
@@ -153,7 +64,7 @@ export class FilesAndFolders extends CollectionBase {
153
64
  for (const [folderId, folder] of this.compoundFoldersById) {
154
65
  if (folder.parent === undefined) {
155
66
  if (this.workspace.options.debug) {
156
- console.log('topFolderId:', folderId);
67
+ console.log('topFolderId:', folderId, folder.compoundName);
157
68
  }
158
69
  this.topLevelFolders.push(folder);
159
70
  }
@@ -161,7 +72,7 @@ export class FilesAndFolders extends CollectionBase {
161
72
  for (const [fileId, file] of this.compoundFilesById) {
162
73
  if (file.parent === undefined) {
163
74
  if (this.workspace.options.debug) {
164
- console.log('topFileId:', fileId);
75
+ console.log('topFileId:', fileId, file.compoundName);
165
76
  }
166
77
  this.topLevelFiles.push(file);
167
78
  }
@@ -169,7 +80,6 @@ export class FilesAndFolders extends CollectionBase {
169
80
  assert(locationFilePath !== undefined);
170
81
  this.workspace.filesByPath.set(locationFilePath, file);
171
82
  if (this.workspace.options.debug) {
172
- // console.log('filesByPath.set', path, file)
173
83
  console.log('filesByPath.set', locationFilePath);
174
84
  }
175
85
  }
@@ -180,20 +90,11 @@ export class FilesAndFolders extends CollectionBase {
180
90
  parentPath = `${this.getRelativePathRecursively(folder.parent)}/`;
181
91
  }
182
92
  }
183
- // console.log(folder.compoundName)
184
93
  folder.relativePath = `${parentPath}${folder.compoundName}`;
185
94
  const sanitizedPath = sanitizeHierarchicalPath(folder.relativePath);
186
95
  folder.relativePermalink = `folders/${sanitizedPath}`;
187
96
  folder.sidebarId = `folders/${flattenPath(sanitizedPath)}`;
188
- // console.log('0', folder.id)
189
- // console.log('1', folder.compoundName)
190
- // console.log('2', folder.relativePermalink)
191
- // console.log('3', folder.docusaurusId)
192
- // console.log('4', folder.sidebarLabel)
193
- // console.log('5', folder.indexName)
194
- // console.log()
195
- }
196
- // Cannot be done in each object, since it needs the hierarchy.
97
+ }
197
98
  for (const [, file] of this.compoundFilesById) {
198
99
  let parentPath = '';
199
100
  if (file.parent !== undefined) {
@@ -201,31 +102,12 @@ export class FilesAndFolders extends CollectionBase {
201
102
  parentPath = `${this.getRelativePathRecursively(file.parent)}/`;
202
103
  }
203
104
  }
204
- // console.log(file.compoundName)
205
105
  file.relativePath = `${parentPath}${file.compoundName}`;
206
106
  const sanitizedPath = sanitizeHierarchicalPath(file.relativePath);
207
107
  file.relativePermalink = `files/${sanitizedPath}`;
208
108
  file.sidebarId = `files/${flattenPath(sanitizedPath)}`;
209
- // console.log('0', file.id)
210
- // console.log('1', file.compoundName)
211
- // console.log('2', file.relativePermalink)
212
- // console.log('3', file.docusaurusId)
213
- // console.log('4', file.sidebarLabel)
214
- // console.log('5', file.indexName)
215
- // console.log()
216
109
  }
217
110
  }
218
- /**
219
- * Recursively builds the relative path for a folder from root.
220
- *
221
- * @remarks
222
- * Traverses the folder hierarchy upwards to construct the complete
223
- * relative path by concatenating parent folder names. Used for
224
- * generating proper folder permalinks and navigation structures.
225
- *
226
- * @param folder - The folder to build the path for
227
- * @returns The complete relative path from root to the folder
228
- */
229
111
  getRelativePathRecursively(folder) {
230
112
  let parentPath = '';
231
113
  if (folder.parent !== undefined) {
@@ -235,14 +117,11 @@ export class FilesAndFolders extends CollectionBase {
235
117
  }
236
118
  return `${parentPath}${folder.compoundName}`;
237
119
  }
238
- // --------------------------------------------------------------------------
239
120
  addSidebarItems(sidebarCategory) {
240
121
  const indicesSet = this.workspace.indicesMaps.get('files');
241
122
  if (indicesSet === undefined) {
242
123
  return;
243
124
  }
244
- // Add folders & files to the sidebar.
245
- // Top level folders & files are added below a Files category
246
125
  const filesCategory = {
247
126
  type: 'category',
248
127
  label: 'Files',
@@ -255,6 +134,10 @@ export class FilesAndFolders extends CollectionBase {
255
134
  {
256
135
  type: 'category',
257
136
  label: 'Hierarchy',
137
+ link: {
138
+ type: 'doc',
139
+ id: `${this.workspace.sidebarBaseId}indices/files/index`,
140
+ },
258
141
  collapsed: true,
259
142
  items: [],
260
143
  },
@@ -281,6 +164,13 @@ export class FilesAndFolders extends CollectionBase {
281
164
  id: `${this.workspace.sidebarBaseId}indices/files/all`,
282
165
  });
283
166
  }
167
+ if (indicesSet.has('concepts')) {
168
+ filesCategory.items.push({
169
+ type: 'doc',
170
+ label: 'Concepts',
171
+ id: `${this.workspace.sidebarBaseId}indices/files/concepts`,
172
+ });
173
+ }
284
174
  if (indicesSet.has('classes')) {
285
175
  filesCategory.items.push({
286
176
  type: 'doc',
@@ -339,18 +229,6 @@ export class FilesAndFolders extends CollectionBase {
339
229
  }
340
230
  sidebarCategory.items.push(filesCategory);
341
231
  }
342
- /**
343
- * Creates sidebar items for folder hierarchies recursively.
344
- *
345
- * @remarks
346
- * Generates hierarchical sidebar structures for folder trees,
347
- * creating category items with nested children for subfolders
348
- * and files. Processes folders first, then files within each
349
- * folder level.
350
- *
351
- * @param folder - The folder to create sidebar items for
352
- * @returns The sidebar category item or undefined if folder lacks data
353
- */
354
232
  createFolderSidebarItemRecursively(folder) {
355
233
  if (folder.sidebarLabel === undefined || folder.sidebarId == undefined) {
356
234
  return undefined;
@@ -384,17 +262,6 @@ export class FilesAndFolders extends CollectionBase {
384
262
  }
385
263
  return categoryItem;
386
264
  }
387
- /**
388
- * Creates a sidebar document item for a file.
389
- *
390
- * @remarks
391
- * Generates a simple document sidebar item for individual files
392
- * with appropriate CSS classes and navigation links. Used for
393
- * leaf nodes in the file hierarchy sidebar.
394
- *
395
- * @param file - The file to create a sidebar item for
396
- * @returns The sidebar document item or undefined if file lacks data
397
- */
398
265
  createFileSidebarItem(file) {
399
266
  if (file.sidebarLabel === undefined || file.sidebarId === undefined) {
400
267
  return undefined;
@@ -407,7 +274,6 @@ export class FilesAndFolders extends CollectionBase {
407
274
  };
408
275
  return docItem;
409
276
  }
410
- // --------------------------------------------------------------------------
411
277
  createNavbarItems() {
412
278
  const navbarItem = {
413
279
  label: 'Files',
@@ -415,7 +281,6 @@ export class FilesAndFolders extends CollectionBase {
415
281
  };
416
282
  return [navbarItem];
417
283
  }
418
- // --------------------------------------------------------------------------
419
284
  async generateIndexDotMdFile() {
420
285
  if (this.topLevelFolders.length === 0 && this.topLevelFiles.length === 0) {
421
286
  return;
@@ -425,7 +290,7 @@ export class FilesAndFolders extends CollectionBase {
425
290
  const frontMatter = {
426
291
  title: 'Files & Folders',
427
292
  slug: `${this.workspace.slugBaseUrl}${permalink}`,
428
- // description: '...', // TODO
293
+ description: 'The files and folders that contributed content to this site',
429
294
  custom_edit_url: null,
430
295
  keywords: ['doxygen', 'files', 'folders', 'reference'],
431
296
  };
@@ -443,7 +308,7 @@ export class FilesAndFolders extends CollectionBase {
443
308
  lines.push('The files & folders that contributed content to this site are:');
444
309
  lines.push(...this.workspace.renderTreeTableToHtmlLines({ contentLines }));
445
310
  if (this.workspace.options.verbose) {
446
- console.log(`Writing files index file ${filePath}...`);
311
+ console.log(`Writing files index file '${filePath}'...`);
447
312
  }
448
313
  await this.workspace.writeOutputMdFile({
449
314
  filePath,
@@ -451,25 +316,11 @@ export class FilesAndFolders extends CollectionBase {
451
316
  bodyLines: lines,
452
317
  });
453
318
  }
454
- /**
455
- * Generates hierarchical index content for folders recursively.
456
- *
457
- * @remarks
458
- * Creates HTML tree table rows for folder hierarchies with proper
459
- * indentation and folder icons. Processes subfolders first, then
460
- * files within each folder level to maintain organised structure.
461
- *
462
- * @param folder - The folder to generate index content for
463
- * @param depth - The current depth level in the hierarchy (0-based)
464
- * @returns Array of HTML strings representing the tree table rows
465
- */
466
319
  generateIndexMdFileRecursively(folder, depth) {
467
- // console.log(util.inspect(folder, { compact: false, depth: 999 }))
468
320
  const lines = [];
469
321
  const label = this.workspace.renderString(folder.compoundName, 'html');
470
322
  const permalink = this.workspace.getPagePermalink(folder.id);
471
323
  if (permalink === undefined || permalink.length === 0) {
472
- // console.log(namespace)
473
324
  return [];
474
325
  }
475
326
  let description = '';
@@ -499,21 +350,7 @@ export class FilesAndFolders extends CollectionBase {
499
350
  }
500
351
  return lines;
501
352
  }
502
- /**
503
- * Generates index content for individual files.
504
- *
505
- * @remarks
506
- * Creates HTML tree table rows for file entries with appropriate
507
- * file icons, labels, and descriptions. Generates consistent
508
- * formatting for file documentation links within hierarchical
509
- * index structures.
510
- *
511
- * @param file - The file to generate index content for
512
- * @param depth - The current depth level in the hierarchy (0-based)
513
- * @returns Array of HTML strings representing the file table row
514
- */
515
353
  generateFileIndexMd(file, depth) {
516
- // console.log(util.inspect(file, { compact: false, depth: 999 }))
517
354
  const lines = [];
518
355
  const label = this.workspace.renderString(file.compoundName, 'html');
519
356
  const permalink = this.workspace.getPagePermalink(file.id, true);
@@ -557,14 +394,22 @@ export class FilesAndFolders extends CollectionBase {
557
394
  continue;
558
395
  }
559
396
  if (compound.innerCompounds !== undefined) {
560
- // console.log(
561
- // compound.indexName,
562
- // Array.from(compound.innerCompounds.keys())
563
- // )
397
+ if (this.workspace.options.debug) {
398
+ console.log(compound.indexName, Array.from(compound.innerCompounds.keys()));
399
+ }
400
+ const conceptCompoundDef = compound.innerCompounds.get('innerConcepts');
401
+ if (conceptCompoundDef?.innerConcepts !== undefined) {
402
+ for (const innerConcept of conceptCompoundDef.innerConcepts) {
403
+ const compoundConcept = this.workspace.viewModel.compoundsById.get(innerConcept.refid);
404
+ if (compoundConcept instanceof Concept) {
405
+ const conceptEntry = new FileTreeEntry(compoundConcept, compound);
406
+ allUnorderedEntriesMap.set(conceptEntry.id, conceptEntry);
407
+ }
408
+ }
409
+ }
564
410
  const classCompoundDef = compound.innerCompounds.get('innerClasses');
565
411
  if (classCompoundDef?.innerClasses !== undefined) {
566
412
  for (const innerClass of classCompoundDef.innerClasses) {
567
- // console.log(innerClass.refid)
568
413
  const compoundClass = this.workspace.viewModel.compoundsById.get(innerClass.refid);
569
414
  if (compoundClass instanceof Class) {
570
415
  const classEntry = new FileTreeEntry(compoundClass, compound);
@@ -575,7 +420,6 @@ export class FilesAndFolders extends CollectionBase {
575
420
  const namespaceCompoundDef = compound.innerCompounds.get('innerNamespaces');
576
421
  if (namespaceCompoundDef?.innerNamespaces !== undefined) {
577
422
  for (const innerNamespace of namespaceCompoundDef.innerNamespaces) {
578
- // console.log(innerNamespace.refid)
579
423
  const compoundNamespace = this.workspace.viewModel.compoundsById.get(innerNamespace.refid);
580
424
  if (compoundNamespace instanceof Namespace) {
581
425
  const namespaceEntry = new FileTreeEntry(compoundNamespace, compound);
@@ -597,16 +441,22 @@ export class FilesAndFolders extends CollectionBase {
597
441
  }
598
442
  }
599
443
  }
600
- // ------------------------------------------------------------------------
601
444
  await this.generateIndexFile({
602
445
  group: 'files',
603
446
  fileKind: 'all',
604
447
  title: 'Files Definitions Index',
605
448
  description: 'The definitions part of the files are:',
606
449
  map: allUnorderedEntriesMap,
607
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
608
450
  filter: (kind) => true,
609
451
  });
452
+ await this.generateIndexFile({
453
+ group: 'files',
454
+ fileKind: 'concepts',
455
+ title: 'Files Concepts Index',
456
+ description: 'The concepts defined in the project are:',
457
+ map: allUnorderedEntriesMap,
458
+ filter: (kind) => kind === 'concept',
459
+ });
610
460
  await this.generateIndexFile({
611
461
  group: 'files',
612
462
  fileKind: 'classes',
@@ -673,54 +523,20 @@ export class FilesAndFolders extends CollectionBase {
673
523
  });
674
524
  }
675
525
  }
676
- // ----------------------------------------------------------------------------
677
- /**
678
- * Represents a folder compound for directory documentation.
679
- *
680
- * @remarks
681
- * Manages folder-specific functionality including child file and folder
682
- * tracking, hierarchy construction, and documentation generation. Provides
683
- * structured organisation for file system hierarchies within the
684
- * documentation.
685
- *
686
- * @public
687
- */
688
526
  export class Folder extends CompoundBase {
689
- /** Array of child file identifiers contained in this folder. */
690
527
  childrenFileIds = [];
691
- /** Array of child folder identifiers contained in this folder. */
692
528
  childrenFolderIds = [];
693
- /** Relative path from root to this folder. */
694
529
  relativePath = '';
695
- // --------------------------------------------------------------------------
696
- /**
697
- * Creates a new Folder instance from compound definition data.
698
- *
699
- * @remarks
700
- * Initialises folder metadata including child file and folder
701
- * references, display labels, and page titles. Sets up the
702
- * folder structure for hierarchy construction and documentation
703
- * generation.
704
- *
705
- * @param collection - The parent FilesAndFolders collection
706
- * @param compoundDef - The Doxygen compound definition for the folder
707
- */
708
530
  constructor(collection, compoundDef) {
709
531
  super(collection, compoundDef);
710
- // console.log('folder:', util.inspect(compoundDef))
711
- // console.log('folder:', compoundDef.compoundName)
712
532
  if (Array.isArray(compoundDef.innerDirs)) {
713
533
  for (const ref of compoundDef.innerDirs) {
714
- // console.log(
715
- // 'component', compoundDef.id, 'has child folder', ref.refid
716
- // )
717
534
  this.childrenIds.push(ref.refid);
718
535
  this.childrenFolderIds.push(ref.refid);
719
536
  }
720
537
  }
721
538
  if (Array.isArray(compoundDef.innerFiles)) {
722
539
  for (const ref of compoundDef.innerFiles) {
723
- // console.log('component', compoundDef.id, 'has child file', ref.refid)
724
540
  this.childrenIds.push(ref.refid);
725
541
  this.childrenFileIds.push(ref.refid);
726
542
  }
@@ -732,16 +548,6 @@ export class Folder extends CompoundBase {
732
548
  this.pageTitle = `\`${this.sidebarLabel}\` Folder`;
733
549
  this.createSections();
734
550
  }
735
- /**
736
- * Determines if the folder has any children worth displaying.
737
- *
738
- * @remarks
739
- * Recursively checks for files or non-empty subfolders to determine
740
- * if the folder should be included in documentation. Empty folders
741
- * without content are typically excluded from navigation.
742
- *
743
- * @returns True if the folder contains files or non-empty subfolders
744
- */
745
551
  hasChildren() {
746
552
  for (const child of this.children) {
747
553
  if (child instanceof File) {
@@ -754,34 +560,14 @@ export class Folder extends CompoundBase {
754
560
  return false;
755
561
  }
756
562
  hasAnyContent() {
757
- // console.log('checking', this.compoundName)
758
563
  if (this.hasChildren()) {
759
- // console.log('has content children', this)
760
564
  return true;
761
565
  }
762
- // if (!super.hasAnyContent()) {
763
- // console.log('has no content', this)
764
- // }
765
566
  return super.hasAnyContent();
766
567
  }
767
- // --------------------------------------------------------------------------
768
- /**
769
- * Renders the complete folder documentation to markdown lines.
770
- *
771
- * @remarks
772
- * Generates the full documentation page including brief descriptions,
773
- * inner directory and file indices, member sections, and detailed
774
- * descriptions. Creates structured folder documentation with proper
775
- * navigation and content organisation.
776
- *
777
- * @param frontMatter - The frontmatter configuration for the page
778
- * @returns Array of markdown strings representing the complete documentation
779
- */
780
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
781
568
  renderToLines(frontMatter) {
782
569
  const lines = [];
783
570
  const descriptionTodo = `@dir ${this.collection.workspace.renderString(this.relativePath, 'html')}`;
784
- // The Description header is always shown.
785
571
  const morePermalink = '#details';
786
572
  lines.push(this.renderBriefDescriptionToHtmlString({
787
573
  briefDescriptionHtmlString: this.briefDescriptionHtmlString,
@@ -802,63 +588,31 @@ export class Folder extends CompoundBase {
802
588
  lines.push(...this.renderSectionsToLines());
803
589
  return lines;
804
590
  }
805
- /**
806
- * Performs late initialisation for folders with content validation.
807
- *
808
- * @remarks
809
- * Validates folder content and conditionally disables sidebar generation for
810
- * empty folders. This ensures that folders without meaningful documentation
811
- * do not appear in the generated sidebar navigation.
812
- *
813
- * @public
814
- */
815
591
  initializeLate() {
816
592
  super.initializeLate();
817
- // console.log(this)
593
+ const { workspace } = this.collection;
818
594
  if (!this.hasAnyContent()) {
819
- if (this.collection.workspace.options.debug) {
595
+ if (!workspace.options.suggestToDoDescriptions) {
820
596
  console.log(this.kind, this.compoundName, 'has no content, not shown');
597
+ this.sidebarId = undefined;
598
+ this.sidebarLabel = undefined;
599
+ this.relativePermalink = undefined;
600
+ return;
601
+ }
602
+ else {
603
+ if (workspace.options.verbose) {
604
+ console.log(this.kind, this.compoundName, 'has no content, see the TODO description');
605
+ }
821
606
  }
822
- this.sidebarId = undefined;
823
- this.sidebarLabel = undefined;
824
- this.relativePermalink = undefined;
825
607
  }
826
608
  }
827
609
  }
828
- // ----------------------------------------------------------------------------
829
- /**
830
- * Represents a file compound for source code documentation.
831
- *
832
- * @remarks
833
- * Manages file-specific functionality including program listings,
834
- * line number tracking, and source code documentation generation.
835
- * Provides structured representation of source files within the
836
- * documentation hierarchy.
837
- *
838
- * @public
839
- */
840
610
  export class File extends CompoundBase {
841
- /** Relative path from root to this file. */
842
611
  relativePath = '';
843
- /** Set of line numbers available in the program listing. */
844
612
  listingLineNumbers = new Set();
845
- /** Program listing data for source code display. */
846
613
  programListing;
847
- /**
848
- * Creates a new File instance from compound definition data.
849
- *
850
- * @remarks
851
- * Initialises file metadata including display labels, page titles,
852
- * and member sections. Sets up the file structure for documentation
853
- * generation and source code listing display.
854
- *
855
- * @param collection - The parent FilesAndFolders collection
856
- * @param compoundDef - The Doxygen compound definition for the file
857
- */
858
614
  constructor(collection, compoundDef) {
859
615
  super(collection, compoundDef);
860
- // console.log('file:', compoundDef.compoundName)
861
- // The compoundName is the actual file name, without path.
862
616
  const { compoundName } = compoundDef;
863
617
  assert(compoundName.length > 0);
864
618
  this.sidebarLabel = compoundName;
@@ -867,16 +621,6 @@ export class File extends CompoundBase {
867
621
  this.pageTitle = `\`${this.sidebarLabel}\` File`;
868
622
  this.createSections();
869
623
  }
870
- /**
871
- * Performs late initialisation for files with program listing setup.
872
- *
873
- * @remarks
874
- * Processes the program listing for source code rendering and tracks valid
875
- * line numbers for link validation. Also validates file content and
876
- * conditionally disables sidebar generation for empty files.
877
- *
878
- * @public
879
- */
880
624
  initializeLate() {
881
625
  super.initializeLate();
882
626
  const compoundDef = this._private._compoundDef;
@@ -884,8 +628,6 @@ export class File extends CompoundBase {
884
628
  const { programListing } = compoundDef;
885
629
  this.programListing = programListing;
886
630
  if (this.collection.workspace.options.renderProgramListing) {
887
- // Keep track of line number, since not all lines referred exist and
888
- // this might result in broken links.
889
631
  if (this.programListing?.codelines !== undefined) {
890
632
  for (const codeline of this.programListing.codelines) {
891
633
  if (codeline.lineno !== undefined) {
@@ -894,73 +636,40 @@ export class File extends CompoundBase {
894
636
  }
895
637
  }
896
638
  }
897
- // console.log(this)
639
+ const { workspace } = this.collection;
898
640
  if (!this.hasAnyContent()) {
899
- if (this.collection.workspace.options.debug) {
641
+ if (!workspace.options.suggestToDoDescriptions) {
900
642
  console.log(this.kind, this.compoundName, 'has no content, not shown');
643
+ this.sidebarId = undefined;
644
+ this.sidebarLabel = undefined;
645
+ this.relativePermalink = undefined;
646
+ return;
647
+ }
648
+ else {
649
+ if (workspace.options.verbose) {
650
+ console.log(this.kind, this.compoundName, 'has no content, see the TODO description');
651
+ }
901
652
  }
902
- this.sidebarId = undefined;
903
- this.sidebarLabel = undefined;
904
- this.relativePermalink = undefined;
905
653
  }
906
654
  }
907
- /**
908
- * Determines if the file has any documentable content.
909
- *
910
- * @remarks
911
- * Checks for children elements, inner compounds, and include relationships
912
- * to determine content availability. This method helps filter empty files
913
- * from the generated documentation.
914
- *
915
- * @returns True if the file contains documentable content, false otherwise.
916
- *
917
- * @public
918
- */
919
655
  hasAnyContent() {
920
- // console.log('checking', this.compoundName)
921
656
  if (this.childrenIds.length > 0) {
922
- // console.log('has content childrenIds', this)
923
657
  return true;
924
658
  }
925
659
  if (this.children.length > 0) {
926
- // console.log('has content children.length', this)
927
660
  return true;
928
661
  }
929
662
  if (this.innerCompounds !== undefined) {
930
- // console.log('has content innerCompounds', this)
931
663
  return true;
932
664
  }
933
665
  if (this.includes !== undefined) {
934
- // console.log('has content includes', this)
935
666
  return true;
936
667
  }
937
- // if (this.collection.workspace.options.renderProgramListing) {
938
- // if (this.programListing !== undefined) {
939
- // return true
940
- // }
941
- // }
942
668
  return super.hasAnyContent();
943
669
  }
944
- // --------------------------------------------------------------------------
945
- /**
946
- * Renders the file documentation to Markdown lines.
947
- *
948
- * @remarks
949
- * Generates comprehensive file documentation including brief description,
950
- * includes index, inner compound indices, section indices, detailed
951
- * description, and optionally the program listing. The output follows
952
- * Docusaurus conventions for file documentation pages.
953
- *
954
- * @param frontMatter - The front matter configuration for the page
955
- * @returns Array of Markdown lines representing the file documentation
956
- *
957
- * @public
958
- */
959
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
960
670
  renderToLines(frontMatter) {
961
671
  const lines = [];
962
672
  const descriptionTodo = `@file ${this.collection.workspace.renderString(this.relativePath, 'html')}`;
963
- // The Description header is always shown.
964
673
  const morePermalink = '#details';
965
674
  lines.push(this.renderBriefDescriptionToHtmlString({
966
675
  briefDescriptionHtmlString: this.briefDescriptionHtmlString,
@@ -969,7 +678,7 @@ export class File extends CompoundBase {
969
678
  }));
970
679
  lines.push(...this.renderIncludesIndexToLines());
971
680
  lines.push(...this.renderInnerIndicesToLines({
972
- suffixes: ['Namespaces', 'Classes'],
681
+ suffixes: ['Namespaces', 'Classes', 'Concepts'],
973
682
  }));
974
683
  lines.push(...this.renderSectionIndicesToLines());
975
684
  lines.push(...this.renderDetailedDescriptionToHtmlLines({
@@ -991,5 +700,4 @@ export class File extends CompoundBase {
991
700
  return lines;
992
701
  }
993
702
  }
994
- // ----------------------------------------------------------------------------
995
703
  //# sourceMappingURL=files-and-folders-vm.js.map