@xpack/doxygen2docusaurus 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/main.d.ts +6 -0
  3. package/dist/cli/main.d.ts.map +1 -1
  4. package/dist/cli/main.js +29 -2
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/docusaurus/cli-options.d.ts +268 -39
  7. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  8. package/dist/docusaurus/cli-options.js +267 -53
  9. package/dist/docusaurus/cli-options.js.map +1 -1
  10. package/dist/docusaurus/generator.d.ts +179 -4
  11. package/dist/docusaurus/generator.d.ts.map +1 -1
  12. package/dist/docusaurus/generator.js +215 -45
  13. package/dist/docusaurus/generator.js.map +1 -1
  14. package/dist/docusaurus/renderers/descriptiontype.d.ts +417 -0
  15. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.js +417 -0
  17. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  18. package/dist/docusaurus/renderers/docinternalstype.d.ts +132 -0
  19. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.js +132 -0
  21. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  22. package/dist/docusaurus/renderers/doclisttype.d.ts +22 -0
  23. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.js +22 -2
  25. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  26. package/dist/docusaurus/renderers/doctabletype.d.ts +88 -0
  27. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.js +88 -0
  29. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  30. package/dist/docusaurus/renderers/doctitletype.d.ts +22 -0
  31. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.js +22 -0
  33. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  34. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +44 -0
  35. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.js +44 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  38. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +22 -0
  39. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.js +22 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  42. package/dist/docusaurus/renderers/element-renderer-base.d.ts +74 -0
  43. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.js +52 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  46. package/dist/docusaurus/renderers/inctype.d.ts +23 -0
  47. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.js +23 -0
  49. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  50. package/dist/docusaurus/renderers/linkedtexttype.d.ts +22 -0
  51. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.js +22 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  54. package/dist/docusaurus/renderers/listingtype.d.ts +52 -0
  55. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.js +66 -2
  57. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  58. package/dist/docusaurus/renderers/paramtype.d.ts +22 -0
  59. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.js +22 -0
  61. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  62. package/dist/docusaurus/renderers/referencetype.d.ts +23 -0
  63. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.js +23 -2
  65. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  66. package/dist/docusaurus/renderers/reftexttype.d.ts +22 -0
  67. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.js +22 -0
  69. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  70. package/dist/docusaurus/renderers/reftype.d.ts +22 -0
  71. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.js +22 -0
  73. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  74. package/dist/docusaurus/renderers/renderers.d.ts +151 -0
  75. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.js +151 -0
  77. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  78. package/dist/docusaurus/renderers/substringtype.d.ts +22 -0
  79. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.js +22 -0
  81. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  82. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +22 -0
  83. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.js +22 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  86. package/dist/docusaurus/types.d.ts +114 -8
  87. package/dist/docusaurus/types.d.ts.map +1 -1
  88. package/dist/docusaurus/types.js.map +1 -1
  89. package/dist/docusaurus/utils.d.ts +214 -0
  90. package/dist/docusaurus/utils.d.ts.map +1 -1
  91. package/dist/docusaurus/utils.js +214 -0
  92. package/dist/docusaurus/utils.js.map +1 -1
  93. package/dist/docusaurus/view-model/classes-vm.d.ts +139 -2
  94. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  95. package/dist/docusaurus/view-model/classes-vm.js +147 -6
  96. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  97. package/dist/docusaurus/view-model/collection-base.d.ts +122 -2
  98. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  99. package/dist/docusaurus/view-model/collection-base.js +78 -0
  100. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  101. package/dist/docusaurus/view-model/compound-base-vm.d.ts +134 -19
  102. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  103. package/dist/docusaurus/view-model/compound-base-vm.js +122 -26
  104. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  105. package/dist/docusaurus/view-model/description-anchors.d.ts +58 -0
  106. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  107. package/dist/docusaurus/view-model/description-anchors.js +58 -0
  108. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  109. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +249 -2
  110. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  111. package/dist/docusaurus/view-model/files-and-folders-vm.js +250 -4
  112. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  113. package/dist/docusaurus/view-model/groups-vm.d.ts +150 -2
  114. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  115. package/dist/docusaurus/view-model/groups-vm.js +153 -5
  116. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  117. package/dist/docusaurus/view-model/members-vm.d.ts +552 -0
  118. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  119. package/dist/docusaurus/view-model/members-vm.js +552 -4
  120. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  121. package/dist/docusaurus/view-model/namespaces-vm.d.ts +201 -2
  122. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  123. package/dist/docusaurus/view-model/namespaces-vm.js +202 -4
  124. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  125. package/dist/docusaurus/view-model/options.d.ts +43 -0
  126. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  127. package/dist/docusaurus/view-model/options.js +43 -0
  128. package/dist/docusaurus/view-model/options.js.map +1 -1
  129. package/dist/docusaurus/view-model/pages-vm.d.ts +117 -2
  130. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  131. package/dist/docusaurus/view-model/pages-vm.js +119 -4
  132. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  133. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +135 -15
  134. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  135. package/dist/docusaurus/view-model/tree-entries-vm.js +136 -16
  136. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  137. package/dist/docusaurus/view-model/view-model.d.ts +119 -0
  138. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  139. package/dist/docusaurus/view-model/view-model.js +119 -0
  140. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  141. package/dist/docusaurus/workspace.d.ts +106 -0
  142. package/dist/docusaurus/workspace.d.ts.map +1 -1
  143. package/dist/docusaurus/workspace.js +107 -1
  144. package/dist/docusaurus/workspace.js.map +1 -1
  145. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +485 -0
  146. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  147. package/dist/doxygen/data-model/compounds/compounddef-dm.js +485 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  149. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +120 -0
  150. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  151. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +98 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  153. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +2705 -0
  154. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  155. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +2677 -47
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  157. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +165 -0
  158. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  159. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +165 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  161. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +70 -0
  162. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  163. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +70 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  165. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +78 -0
  166. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  167. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +78 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  169. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +107 -0
  170. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  171. package/dist/doxygen/data-model/compounds/inctype-dm.js +107 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  173. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +123 -0
  174. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  175. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +123 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  177. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +70 -0
  178. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  179. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +70 -1
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  181. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +156 -0
  182. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  183. package/dist/doxygen/data-model/compounds/locationtype-dm.js +156 -5
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  185. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +433 -0
  186. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  187. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +417 -6
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  189. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +135 -0
  190. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  191. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +136 -4
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  193. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +95 -0
  194. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  195. package/dist/doxygen/data-model/compounds/membertype-dm.js +76 -4
  196. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  197. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +158 -0
  198. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  199. package/dist/doxygen/data-model/compounds/paramtype-dm.js +158 -1
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  201. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +130 -0
  202. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  203. package/dist/doxygen/data-model/compounds/referencetype-dm.js +130 -2
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  205. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +120 -0
  206. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  207. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +106 -3
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  209. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +247 -0
  210. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  211. package/dist/doxygen/data-model/compounds/reftype-dm.js +247 -3
  212. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  213. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +99 -0
  214. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  215. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +99 -2
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  217. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +159 -0
  218. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  219. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +159 -3
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  221. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +255 -0
  222. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  223. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +255 -6
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  225. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +60 -0
  226. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  227. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +60 -1
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  229. package/dist/doxygen/data-model/data-model.d.ts +86 -2
  230. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  231. package/dist/doxygen/data-model/data-model.js +86 -4
  232. package/dist/doxygen/data-model/data-model.js.map +1 -1
  233. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +109 -0
  234. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  235. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +84 -2
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  237. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +81 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  239. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +81 -3
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  241. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +24 -7
  242. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  243. package/dist/doxygen/data-model/doxygen-xml-parser.js +24 -22
  244. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  245. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +92 -0
  246. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  247. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +79 -2
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  249. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +76 -0
  250. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  251. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +76 -3
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  253. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +79 -0
  254. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  255. package/dist/doxygen/data-model/index/indexmembertype-dm.js +66 -2
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  257. package/dist/doxygen/data-model/types.d.ts +96 -1
  258. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  259. package/dist/doxygen/data-model/types.js +37 -0
  260. package/dist/doxygen/data-model/types.js.map +1 -1
  261. package/dist/doxygen2docusaurus.d.ts +4774 -0
  262. package/dist/tsdoc-metadata.json +11 -0
  263. package/package.json +11 -7
  264. /package/{template → templates}/css/custom.css +0 -0
  265. /package/{template → templates}/img/README.md +0 -0
  266. /package/{template → templates}/img/document-svgrepo-com.svg +0 -0
  267. /package/{template → templates}/img/folder-svgrepo-com.svg +0 -0
@@ -17,14 +17,39 @@ import { CollectionBase } from './collection-base.js';
17
17
  import { flattenPath, sanitizeAnonymousNamespace, sanitizeHierarchicalPath, } from '../utils.js';
18
18
  import { ClassTreeEntry } from './tree-entries-vm.js';
19
19
  // ----------------------------------------------------------------------------
20
+ /**
21
+ * Mapping of class kinds to their plural display names.
22
+ *
23
+ * @remarks
24
+ * Used for generating appropriate headings and labels in the documentation
25
+ * output based on the specific type of class compound.
26
+ */
20
27
  const kindsPlurals = {
21
28
  class: 'Classes',
22
29
  struct: 'Structs',
23
30
  union: 'Unions',
24
31
  };
25
32
  // ----------------------------------------------------------------------------
33
+ /**
34
+ * Manages the collection of class, struct, and union documentation.
35
+ *
36
+ * @remarks
37
+ * Handles the organisation and generation of class-type compound
38
+ * documentation, including hierarchy creation, sidebar generation,
39
+ * and index file creation. Supports inheritance relationships and
40
+ * alphabetical organisation.
41
+ *
42
+ * @public
43
+ */
26
44
  export class Classes extends CollectionBase {
27
45
  // compoundsById: Map<string, Class>
46
+ /**
47
+ * Array of top-level classes without parent classes.
48
+ *
49
+ * @remarks
50
+ * Contains classes that are not derived from other documented classes,
51
+ * used for organising hierarchical displays and inheritance trees.
52
+ */
28
53
  topLevelClasses = [];
29
54
  // --------------------------------------------------------------------------
30
55
  // constructor (workspace: Workspace) {
@@ -32,12 +57,30 @@ export class Classes extends CollectionBase {
32
57
  // // this.compoundsById = new Map()
33
58
  // }
34
59
  // --------------------------------------------------------------------------
60
+ /**
61
+ * Adds a class compound to the collection.
62
+ *
63
+ * @remarks
64
+ * Creates a new Class instance from the compound definition and registers
65
+ * it in the collection for later processing and hierarchy creation.
66
+ *
67
+ * @param compoundDef - The compound definition for the class
68
+ * @returns The created Class instance
69
+ */
35
70
  addChild(compoundDef) {
36
71
  const classs = new Class(this, compoundDef);
37
72
  this.collectionCompoundsById.set(classs.id, classs);
38
73
  return classs;
39
74
  }
40
75
  // --------------------------------------------------------------------------
76
+ /**
77
+ * Creates hierarchical relationships between class compounds.
78
+ *
79
+ * @remarks
80
+ * Establishes parent-child relationships based on inheritance data,
81
+ * building the class hierarchy tree and identifying top-level classes
82
+ * that have no documented parent classes.
83
+ */
41
84
  createCompoundsHierarchies() {
42
85
  // Recreate classes hierarchies.
43
86
  for (const [classId, classs] of this.collectionCompoundsById) {
@@ -157,6 +200,18 @@ export class Classes extends CollectionBase {
157
200
  }
158
201
  sidebarCategory.items.push(classesCategory);
159
202
  }
203
+ /**
204
+ * Creates sidebar item for class hierarchy recursively.
205
+ *
206
+ * @remarks
207
+ * Generates hierarchical sidebar structures for class inheritance
208
+ * trees, creating category items for classes with children and
209
+ * document items for leaf classes. Handles sidebar label and ID
210
+ * generation with proper CSS classes.
211
+ *
212
+ * @param classs - The class to create sidebar item for
213
+ * @returns The sidebar item or undefined if class lacks required data
214
+ */
160
215
  createSidebarItemRecursively(classs) {
161
216
  if (classs.sidebarLabel === undefined || classs.sidebarId === undefined) {
162
217
  return undefined;
@@ -194,12 +249,12 @@ export class Classes extends CollectionBase {
194
249
  }
195
250
  }
196
251
  // --------------------------------------------------------------------------
197
- createMenuItems() {
198
- const menuItem = {
252
+ createNavbarItems() {
253
+ const navbarItem = {
199
254
  label: 'Classes',
200
255
  to: `${this.workspace.menuBaseUrl}classes/`,
201
256
  };
202
- return [menuItem];
257
+ return [navbarItem];
203
258
  }
204
259
  // --------------------------------------------------------------------------
205
260
  async generateIndexDotMdFile() {
@@ -234,6 +289,19 @@ export class Classes extends CollectionBase {
234
289
  bodyLines: lines,
235
290
  });
236
291
  }
292
+ /**
293
+ * Generates hierarchical index content for class documentation recursively.
294
+ *
295
+ * @remarks
296
+ * Creates HTML tree table rows for class hierarchies with proper
297
+ * indentation, icons, and descriptions. Processes inheritance
298
+ * relationships and generates nested table structures for parent-child
299
+ * class relationships.
300
+ *
301
+ * @param classs - The class to generate index content for
302
+ * @param depth - The current depth level in the hierarchy (1-based)
303
+ * @returns Array of HTML strings representing the tree table rows
304
+ */
237
305
  generateIndexMdFileRecursively(classs, depth) {
238
306
  // console.log(util.inspect(classs, { compact: false, depth: 999 }))
239
307
  const lines = [];
@@ -357,21 +425,51 @@ export class Classes extends CollectionBase {
357
425
  }
358
426
  }
359
427
  // ============================================================================
428
+ /**
429
+ * Represents a single class, struct, or union compound for documentation.
430
+ *
431
+ * @remarks
432
+ * Manages individual class compound data including inheritance relationships,
433
+ * template parameters, member organisation, and documentation generation.
434
+ * Supports multiple inheritance, template specialisation, and hierarchical
435
+ * naming conventions for comprehensive class documentation.
436
+ *
437
+ * @public
438
+ */
360
439
  export class Class extends CompoundBase {
361
- // Due to multiple-inheritance, there can be multiple parents.
440
+ /** Set of base class IDs for inheritance tracking (multiple inheritance). */
362
441
  baseClassIds = new Set();
442
+ /** Array of resolved base class instances. */
363
443
  baseClasses = [];
444
+ /** Fully qualified class name including namespace hierarchy. */
364
445
  fullyQualifiedName = '???';
446
+ /** Simple class name without namespace qualifiers. */
365
447
  unqualifiedName = '???';
448
+ /** Template parameter specification string. */
366
449
  templateParameters = '';
450
+ /** Complete class name with rendered template parameters. */
367
451
  classFullName = '???';
452
+ /** Rendered template declaration for display purposes. */
368
453
  template;
369
- // Shortcuts, use data model objects.
370
- // WARNING: May be duplicate.
454
+ /** Direct reference to base compound data model objects. */
371
455
  baseCompoundRefs;
456
+ /** Direct reference to derived compound data model objects. */
372
457
  derivedCompoundRefs;
458
+ /** Template parameter list from the compound definition. */
373
459
  templateParamList;
374
460
  // --------------------------------------------------------------------------
461
+ /**
462
+ * Creates a new Class instance from compound definition data.
463
+ *
464
+ * @remarks
465
+ * Initialises class metadata including inheritance relationships,
466
+ * template parameters, naming conventions, and URL structures.
467
+ * Processes fully qualified names, sidebar labels, and creates
468
+ * hierarchical path structures for documentation generation.
469
+ *
470
+ * @param collection - The parent Classes collection managing this class
471
+ * @param compoundDef - The Doxygen compound definition containing class data
472
+ */
375
473
  constructor(collection, compoundDef) {
376
474
  super(collection, compoundDef);
377
475
  // console.log('Class.constructor', util.inspect(compoundDef))
@@ -438,6 +536,15 @@ export class Class extends CompoundBase {
438
536
  // console.log('6', this.templateParameters)
439
537
  // console.log()
440
538
  }
539
+ /**
540
+ * Performs late-stage initialisation after all classes are loaded.
541
+ *
542
+ * @remarks
543
+ * Completes class setup by rendering template parameters to HTML,
544
+ * building full class names with template information, and storing
545
+ * references to compound definition objects for inheritance processing.
546
+ * Called after all compounds are registered.
547
+ */
441
548
  initializeLate() {
442
549
  super.initializeLate();
443
550
  const compoundDef = this._private._compoundDef;
@@ -463,6 +570,17 @@ export class Class extends CompoundBase {
463
570
  this.derivedCompoundRefs = derivedCompoundRefs;
464
571
  this.templateParamList = templateParamList;
465
572
  }
573
+ /**
574
+ * Determines whether the class has any content to display.
575
+ *
576
+ * @remarks
577
+ * Checks for the presence of child classes, inner compounds,
578
+ * member sections, include directives, or base class content
579
+ * to determine if the class documentation page should be
580
+ * generated and displayed.
581
+ *
582
+ * @returns True if the class has displayable content, false otherwise
583
+ */
466
584
  hasAnyContent() {
467
585
  if (this.childrenIds.length > 0) {
468
586
  return true;
@@ -482,6 +600,18 @@ export class Class extends CompoundBase {
482
600
  return super.hasAnyContent();
483
601
  }
484
602
  // --------------------------------------------------------------------------
603
+ /**
604
+ * Renders the complete class documentation to markdown lines.
605
+ *
606
+ * @remarks
607
+ * Generates the full documentation page including class declaration,
608
+ * inheritance relationships, member indices, detailed descriptions,
609
+ * and location information. Handles base and derived class listings
610
+ * with proper HTML table formatting.
611
+ *
612
+ * @param frontMatter - The frontmatter configuration for the page
613
+ * @returns Array of markdown strings representing the complete documentation
614
+ */
485
615
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
486
616
  renderToLines(frontMatter) {
487
617
  const lines = [];
@@ -668,6 +798,17 @@ export class Class extends CompoundBase {
668
798
  lines.push(...this.renderGeneratedFromToLines());
669
799
  return lines;
670
800
  }
801
+ /**
802
+ * Renders the class as an index entry for member listings.
803
+ *
804
+ * @remarks
805
+ * Creates HTML table rows suitable for inclusion in member indices,
806
+ * with links to the class documentation page and brief descriptions.
807
+ * Generates formatted entries with appropriate CSS classes and
808
+ * structure for index displays.
809
+ *
810
+ * @returns Array of HTML strings representing the index entry
811
+ */
671
812
  renderIndexToLines() {
672
813
  // console.log(util.inspect(this, { compact: false, depth: 999 }))
673
814
  const lines = [];
@@ -1 +1 @@
1
- {"version":3,"file":"classes-vm.js","sourceRoot":"","sources":["../../../src/docusaurus/view-model/classes-vm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classes-vm.js","sourceRoot":"","sources":["../../../src/docusaurus/view-model/classes-vm.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,141 @@
1
1
  import type { Workspace } from '../workspace.js';
2
2
  import type { CompoundDefDataModel } from '../../doxygen/data-model/compounds/compounddef-dm.js';
3
- import type { MenuItem, SidebarCategory } from '../types.js';
3
+ import type { NavbarItem, SidebarCategory } from '../types.js';
4
4
  import type { CompoundBase } from './compound-base-vm.js';
5
5
  import type { TreeEntryBase } from './tree-entries-vm.js';
6
+ /**
7
+ * Base class for managing collections of documentation compounds.
8
+ *
9
+ * @remarks
10
+ * Provides common functionality for organising and managing different
11
+ * types of documentation collections such as classes, namespaces, files,
12
+ * and groups. Handles hierarchy creation, sidebar generation, and index
13
+ * file creation.
14
+ *
15
+ * @public
16
+ */
6
17
  export declare abstract class CollectionBase {
18
+ /** The workspace instance providing global configuration and utilities. */
7
19
  workspace: Workspace;
20
+ /** Map storing compound instances indexed by their unique identifiers. */
8
21
  collectionCompoundsById: Map<string, CompoundBase>;
22
+ /**
23
+ * Creates a new collection base instance.
24
+ *
25
+ * @remarks
26
+ * Initialises the workspace reference and creates an empty map for
27
+ * storing compound instances indexed by their identifiers.
28
+ *
29
+ * @param workspace - The workspace instance containing global configuration
30
+ */
9
31
  constructor(workspace: Workspace);
32
+ /**
33
+ * Adds a compound definition to the collection.
34
+ *
35
+ * @remarks
36
+ * Abstract method that must be implemented by derived classes to handle
37
+ * the specific compound type addition logic.
38
+ *
39
+ * @param compoundDef - The compound definition data model to add
40
+ * @returns The created compound base instance
41
+ */
10
42
  abstract addChild(compoundDef: CompoundDefDataModel): CompoundBase;
43
+ /**
44
+ * Creates hierarchical relationships between compounds.
45
+ *
46
+ * @remarks
47
+ * Abstract method that organises compounds into their appropriate
48
+ * hierarchical structure based on the collection type.
49
+ */
11
50
  abstract createCompoundsHierarchies(): void;
51
+ /**
52
+ * Adds items to the sidebar category for navigation.
53
+ *
54
+ * @remarks
55
+ * Abstract method that populates the sidebar with appropriate navigation
56
+ * items for this collection type.
57
+ *
58
+ * @param sidebarCategory - The sidebar category to populate
59
+ */
12
60
  abstract addSidebarItems(sidebarCategory: SidebarCategory): void;
13
- abstract createMenuItems(): MenuItem[];
61
+ /**
62
+ * Creates navigation bar items for the top-level menu.
63
+ *
64
+ * @remarks
65
+ * Abstract method that generates navbar dropdown items appropriate
66
+ * for this collection type.
67
+ *
68
+ * @returns Array of navbar items for the collection
69
+ */
70
+ abstract createNavbarItems(): NavbarItem[];
71
+ /**
72
+ * Generates the main index Markdown file for the collection.
73
+ *
74
+ * @remarks
75
+ * Abstract method that creates the primary index page listing all
76
+ * items in the collection with appropriate organisation.
77
+ */
14
78
  abstract generateIndexDotMdFile(): Promise<void>;
79
+ /**
80
+ * Generates index files organised by initial letters.
81
+ *
82
+ * @remarks
83
+ * Optional method that can be overridden to create alphabetical
84
+ * index pages when the collection is large enough to warrant
85
+ * subdivision by initial letters.
86
+ */
15
87
  generatePerInitialsIndexMdFiles(): Promise<void>;
88
+ /**
89
+ * Determines whether the collection should appear in the sidebar.
90
+ *
91
+ * @remarks
92
+ * Collections are visible in the sidebar when they contain at least
93
+ * one compound. Empty collections are hidden to avoid clutter.
94
+ *
95
+ * @returns True if the collection has compounds and should be visible
96
+ */
16
97
  isVisibleInSidebar(): boolean;
98
+ /**
99
+ * Organises tree entries by their initial letters for alphabetical indexing.
100
+ *
101
+ * @remarks
102
+ * Groups collection entries by their first letter to enable creation
103
+ * of alphabetical index pages. Handles special characters like tildes
104
+ * and ensures consistent lowercase grouping.
105
+ *
106
+ * @param entriesMap - Map of tree entries to organise
107
+ * @returns Map grouping entries by their initial letters
108
+ */
17
109
  orderPerInitials(entriesMap: Map<string, TreeEntryBase>): Map<string, TreeEntryBase[]>;
110
+ /**
111
+ * Generates output entries for alphabetical index pages.
112
+ *
113
+ * @remarks
114
+ * Creates formatted lists of entries organised by initial letters,
115
+ * producing HTML markup suitable for inclusion in Markdown index
116
+ * pages. Includes entry names, types, and navigation links.
117
+ *
118
+ * @param entriesPerInitialsMap - Map of entries grouped by initials
119
+ * @returns Array of formatted output lines for the index
120
+ */
18
121
  outputEntries(entriesPerInitialsMap: Map<string, TreeEntryBase[]>): string[];
122
+ /**
123
+ * Generates a filtered index file for a specific kind of entries.
124
+ *
125
+ * @remarks
126
+ * Creates alphabetically organised index pages for specific entry types
127
+ * within the collection. Applies filtering to include only relevant
128
+ * entries, organises them by initial letters, and generates Markdown
129
+ * files with proper frontmatter and navigation links.
130
+ *
131
+ * @param params - Object containing index file generation parameters
132
+ * @param params.group - The collection group name for file organisation
133
+ * @param params.fileKind - The specific kind of entries to include
134
+ * @param params.title - The page title for the generated index
135
+ * @param params.description - The descriptive text for the index page
136
+ * @param params.map - Map of all available entries to filter from
137
+ * @param params.filter - Function to determine which entries to include
138
+ */
19
139
  generateIndexFile({ group, fileKind, title, description, map, filter, }: {
20
140
  group: string;
21
141
  fileKind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"collection-base.d.ts","sourceRoot":"","sources":["../../../src/docusaurus/view-model/collection-base.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAe,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,8BAAsB,cAAc;IAClC,SAAS,EAAE,SAAS,CAAA;IAEpB,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;gBAItC,SAAS,EAAE,SAAS;IAQhC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,YAAY;IAClE,QAAQ,CAAC,0BAA0B,IAAI,IAAI;IAE3C,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAChE,QAAQ,CAAC,eAAe,IAAI,QAAQ,EAAE;IACtC,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1C,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAItD,kBAAkB,IAAI,OAAO;IAM7B,gBAAgB,CACd,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IA2C/B,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,MAAM,EAAE;IAuDtE,iBAAiB,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,GAAG,EACH,MAAM,GACP,EAAE;QACD,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;CAkDlB"}
1
+ {"version":3,"file":"collection-base.d.ts","sourceRoot":"","sources":["../../../src/docusaurus/view-model/collection-base.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,aAAa,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;;;;;GAUG;AACH,8BAAsB,cAAc;IAClC,2EAA2E;IAC3E,SAAS,EAAE,SAAS,CAAA;IAEpB,0EAA0E;IAC1E,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAIlD;;;;;;;;OAQG;gBACS,SAAS,EAAE,SAAS;IAQhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,YAAY;IAElE;;;;;;OAMG;IACH,QAAQ,CAAC,0BAA0B,IAAI,IAAI;IAE3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAEhE;;;;;;;;OAQG;IACH,QAAQ,CAAC,iBAAiB,IAAI,UAAU,EAAE;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;;;;;;OAOG;IACG,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAItD;;;;;;;;OAQG;IACH,kBAAkB,IAAI,OAAO;IAM7B;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IA2C/B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,MAAM,EAAE;IAuD5E;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,GAAG,EACH,MAAM,GACP,EAAE;QACD,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;CAkDlB"}
@@ -11,21 +11,71 @@
11
11
  // ----------------------------------------------------------------------------
12
12
  // import * as fs from 'node:fs/promises'
13
13
  import assert from 'node:assert';
14
+ /**
15
+ * Base class for managing collections of documentation compounds.
16
+ *
17
+ * @remarks
18
+ * Provides common functionality for organising and managing different
19
+ * types of documentation collections such as classes, namespaces, files,
20
+ * and groups. Handles hierarchy creation, sidebar generation, and index
21
+ * file creation.
22
+ *
23
+ * @public
24
+ */
14
25
  export class CollectionBase {
26
+ /** The workspace instance providing global configuration and utilities. */
15
27
  workspace;
28
+ /** Map storing compound instances indexed by their unique identifiers. */
16
29
  collectionCompoundsById;
17
30
  // --------------------------------------------------------------------------
31
+ /**
32
+ * Creates a new collection base instance.
33
+ *
34
+ * @remarks
35
+ * Initialises the workspace reference and creates an empty map for
36
+ * storing compound instances indexed by their identifiers.
37
+ *
38
+ * @param workspace - The workspace instance containing global configuration
39
+ */
18
40
  constructor(workspace) {
19
41
  this.workspace = workspace;
20
42
  this.collectionCompoundsById = new Map();
21
43
  }
44
+ /**
45
+ * Generates index files organised by initial letters.
46
+ *
47
+ * @remarks
48
+ * Optional method that can be overridden to create alphabetical
49
+ * index pages when the collection is large enough to warrant
50
+ * subdivision by initial letters.
51
+ */
22
52
  async generatePerInitialsIndexMdFiles() {
23
53
  // Nothing at this level. Override it where needed.
24
54
  }
55
+ /**
56
+ * Determines whether the collection should appear in the sidebar.
57
+ *
58
+ * @remarks
59
+ * Collections are visible in the sidebar when they contain at least
60
+ * one compound. Empty collections are hidden to avoid clutter.
61
+ *
62
+ * @returns True if the collection has compounds and should be visible
63
+ */
25
64
  isVisibleInSidebar() {
26
65
  return this.collectionCompoundsById.size > 0;
27
66
  }
28
67
  // --------------------------------------------------------------------------
68
+ /**
69
+ * Organises tree entries by their initial letters for alphabetical indexing.
70
+ *
71
+ * @remarks
72
+ * Groups collection entries by their first letter to enable creation
73
+ * of alphabetical index pages. Handles special characters like tildes
74
+ * and ensures consistent lowercase grouping.
75
+ *
76
+ * @param entriesMap - Map of tree entries to organise
77
+ * @returns Map grouping entries by their initial letters
78
+ */
29
79
  orderPerInitials(entriesMap) {
30
80
  const entriesPerInitialsMap = new Map();
31
81
  for (const [, entry] of entriesMap) {
@@ -65,6 +115,17 @@ export class CollectionBase {
65
115
  }
66
116
  return orderedMap;
67
117
  }
118
+ /**
119
+ * Generates output entries for alphabetical index pages.
120
+ *
121
+ * @remarks
122
+ * Creates formatted lists of entries organised by initial letters,
123
+ * producing HTML markup suitable for inclusion in Markdown index
124
+ * pages. Includes entry names, types, and navigation links.
125
+ *
126
+ * @param entriesPerInitialsMap - Map of entries grouped by initials
127
+ * @returns Array of formatted output lines for the index
128
+ */
68
129
  outputEntries(entriesPerInitialsMap) {
69
130
  const lines = [];
70
131
  let totalCount = 0;
@@ -111,6 +172,23 @@ export class CollectionBase {
111
172
  lines.push(`<p>Total: ${totalCount.toString()} entries.</p>`);
112
173
  return lines;
113
174
  }
175
+ /**
176
+ * Generates a filtered index file for a specific kind of entries.
177
+ *
178
+ * @remarks
179
+ * Creates alphabetically organised index pages for specific entry types
180
+ * within the collection. Applies filtering to include only relevant
181
+ * entries, organises them by initial letters, and generates Markdown
182
+ * files with proper frontmatter and navigation links.
183
+ *
184
+ * @param params - Object containing index file generation parameters
185
+ * @param params.group - The collection group name for file organisation
186
+ * @param params.fileKind - The specific kind of entries to include
187
+ * @param params.title - The page title for the generated index
188
+ * @param params.description - The descriptive text for the index page
189
+ * @param params.map - Map of all available entries to filter from
190
+ * @param params.filter - Function to determine which entries to include
191
+ */
114
192
  async generateIndexFile({ group, fileKind, title, description, map, filter, }) {
115
193
  const filteredMap = new Map();
116
194
  for (const [id, entry] of map) {
@@ -1 +1 @@
1
- {"version":3,"file":"collection-base.js","sourceRoot":"","sources":["../../../src/docusaurus/view-model/collection-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAE/E,yCAAyC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAA;AAQhC,MAAM,OAAgB,cAAc;IAClC,SAAS,CAAW;IAEpB,uBAAuB,CAA2B;IAElD,6EAA6E;IAE7E,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1C,CAAC;IAWD,KAAK,CAAC,+BAA+B;QACnC,mDAAmD;IACrD,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAE7E,gBAAgB,CACd,UAAsC;QAEtC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA2B,CAAA;QAEhE,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAW,KAAK,CAAC,IAAI;iBAC/B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;iBACnB,MAAM,CAAC,CAAC,CAAC;iBACT,WAAW,EAAE,CAAA;YAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,QAAQ,GAAG,EAAE,CAAA;oBACb,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC9C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAA;QACrD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACvE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACzD,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAA;YACpC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI;qBACxB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;qBACnB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE;oBACpD,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAA;gBACJ,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,cAAc,CAAA;gBACvB,CAAC;gBACD,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE;oBAC/D,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAA;gBACF,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,aAAa,CAAC,qBAAmD;QAC/D,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,KAAK,MAAM,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACd,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnD,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAA;YAC9B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAW,KAAK,CAAC,QAAQ,CAAA;gBAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;qBACpB,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC;qBAClC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;gBAExC,IAAI,IAAI,GAAG,EAAE,CAAA;gBAEb,IAAI,IAAI,UAAU,IAAI,QAAQ,CAAA;gBAC9B,IAAI,IAAI,KAAK,CAAA;gBACb,IAAI,IAAI,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAA;oBAClB,IAAI,IAAI,KAAK,CAAA;gBACf,CAAC;gBAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAA;oBACtB,IAAI,IAAI,GAAG,CAAA;gBACb,CAAC;gBAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,IAAI,IAAI,YAAY,KAAK,CAAC,SAAS,KAAK,QAAQ,MAAM,CAAA;gBACxD,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,QAAQ,CAAA;gBAClB,CAAC;gBACD,IAAI,IAAI,OAAO,CAAA;gBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEnB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YAC5D,CAAC;YACD,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAA;QAC/B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QAE7D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,GAAG,EACH,MAAM,GAQP;QACC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAA;QACpD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,8BAA8B;YAC9B,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,wCAAwC;YACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAEzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAE3C,MAAM,QAAQ,GAAG,GAAG,gBAAgB,WAAW,KAAK,IAAI,QAAQ,KAAK,CAAA;QACrE,MAAM,SAAS,GAAG,WAAW,KAAK,IAAI,QAAQ,EAAE,CAAA;QAEhD,MAAM,WAAW,GAAgB;YAC/B,KAAK;YACL,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,EAAE;YACjD,8BAA8B;YAC9B,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;SACtC,CAAA;QAED,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,MAAM,CAAC,CAAA;QAEnC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAA;QAEjD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,eAAe,QAAQ,KAAK,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACrC,QAAQ;YACR,WAAW;YACX,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;CACF;AAED,+EAA+E"}
1
+ {"version":3,"file":"collection-base.js","sourceRoot":"","sources":["../../../src/docusaurus/view-model/collection-base.ts"],"names":[],"mappings":"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"}