@xpack/doxygen2docusaurus 1.0.2

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 (273) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/bin/doxygen2docusaurus.js +45 -0
  4. package/dist/cli/main.d.ts +10 -0
  5. package/dist/cli/main.d.ts.map +1 -0
  6. package/dist/cli/main.js +66 -0
  7. package/dist/cli/main.js.map +1 -0
  8. package/dist/docusaurus/cli-options.d.ts +98 -0
  9. package/dist/docusaurus/cli-options.d.ts.map +1 -0
  10. package/dist/docusaurus/cli-options.js +212 -0
  11. package/dist/docusaurus/cli-options.js.map +1 -0
  12. package/dist/docusaurus/generator.d.ts +22 -0
  13. package/dist/docusaurus/generator.d.ts.map +1 -0
  14. package/dist/docusaurus/generator.js +461 -0
  15. package/dist/docusaurus/generator.js.map +1 -0
  16. package/dist/docusaurus/renderers/descriptiontype.d.ts +63 -0
  17. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -0
  18. package/dist/docusaurus/renderers/descriptiontype.js +674 -0
  19. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -0
  20. package/dist/docusaurus/renderers/docinternalstype.d.ts +21 -0
  21. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -0
  22. package/dist/docusaurus/renderers/docinternalstype.js +159 -0
  23. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -0
  24. package/dist/docusaurus/renderers/doclisttype.d.ts +6 -0
  25. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -0
  26. package/dist/docusaurus/renderers/doclisttype.js +86 -0
  27. package/dist/docusaurus/renderers/doclisttype.js.map +1 -0
  28. package/dist/docusaurus/renderers/doctabletype.d.ts +15 -0
  29. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -0
  30. package/dist/docusaurus/renderers/doctabletype.js +98 -0
  31. package/dist/docusaurus/renderers/doctabletype.js.map +1 -0
  32. package/dist/docusaurus/renderers/doctitletype.d.ts +6 -0
  33. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -0
  34. package/dist/docusaurus/renderers/doctitletype.js +38 -0
  35. package/dist/docusaurus/renderers/doctitletype.js.map +1 -0
  36. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +9 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -0
  38. package/dist/docusaurus/renderers/docvariablelisttype.js +57 -0
  39. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -0
  40. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +6 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -0
  42. package/dist/docusaurus/renderers/docxrefsecttype.js +44 -0
  43. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -0
  44. package/dist/docusaurus/renderers/element-renderer-base.d.ts +12 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -0
  46. package/dist/docusaurus/renderers/element-renderer-base.js +25 -0
  47. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -0
  48. package/dist/docusaurus/renderers/inctype.d.ts +6 -0
  49. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -0
  50. package/dist/docusaurus/renderers/inctype.js +42 -0
  51. package/dist/docusaurus/renderers/inctype.js.map +1 -0
  52. package/dist/docusaurus/renderers/linkedtexttype.d.ts +6 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -0
  54. package/dist/docusaurus/renderers/linkedtexttype.js +32 -0
  55. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -0
  56. package/dist/docusaurus/renderers/listingtype.d.ts +10 -0
  57. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -0
  58. package/dist/docusaurus/renderers/listingtype.js +121 -0
  59. package/dist/docusaurus/renderers/listingtype.js.map +1 -0
  60. package/dist/docusaurus/renderers/paramtype.d.ts +6 -0
  61. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -0
  62. package/dist/docusaurus/renderers/paramtype.js +63 -0
  63. package/dist/docusaurus/renderers/paramtype.js.map +1 -0
  64. package/dist/docusaurus/renderers/referencetype.d.ts +6 -0
  65. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -0
  66. package/dist/docusaurus/renderers/referencetype.js +42 -0
  67. package/dist/docusaurus/renderers/referencetype.js.map +1 -0
  68. package/dist/docusaurus/renderers/reftexttype.d.ts +6 -0
  69. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -0
  70. package/dist/docusaurus/renderers/reftexttype.js +41 -0
  71. package/dist/docusaurus/renderers/reftexttype.js.map +1 -0
  72. package/dist/docusaurus/renderers/reftype.d.ts +6 -0
  73. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -0
  74. package/dist/docusaurus/renderers/reftype.js +38 -0
  75. package/dist/docusaurus/renderers/reftype.js.map +1 -0
  76. package/dist/docusaurus/renderers/renderers.d.ts +33 -0
  77. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -0
  78. package/dist/docusaurus/renderers/renderers.js +303 -0
  79. package/dist/docusaurus/renderers/renderers.js.map +1 -0
  80. package/dist/docusaurus/renderers/substringtype.d.ts +6 -0
  81. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -0
  82. package/dist/docusaurus/renderers/substringtype.js +24 -0
  83. package/dist/docusaurus/renderers/substringtype.js.map +1 -0
  84. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +6 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -0
  86. package/dist/docusaurus/renderers/tableofcontentstype.js +41 -0
  87. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -0
  88. package/dist/docusaurus/types.d.ts +53 -0
  89. package/dist/docusaurus/types.d.ts.map +1 -0
  90. package/dist/docusaurus/types.js +13 -0
  91. package/dist/docusaurus/types.js.map +1 -0
  92. package/dist/docusaurus/utils.d.ts +16 -0
  93. package/dist/docusaurus/utils.d.ts.map +1 -0
  94. package/dist/docusaurus/utils.js +169 -0
  95. package/dist/docusaurus/utils.js.map +1 -0
  96. package/dist/docusaurus/view-model/classes-vm.d.ts +35 -0
  97. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -0
  98. package/dist/docusaurus/view-model/classes-vm.js +707 -0
  99. package/dist/docusaurus/view-model/classes-vm.js.map +1 -0
  100. package/dist/docusaurus/view-model/collection-base.d.ts +28 -0
  101. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -0
  102. package/dist/docusaurus/view-model/collection-base.js +155 -0
  103. package/dist/docusaurus/view-model/collection-base.js.map +1 -0
  104. package/dist/docusaurus/view-model/compound-base-vm.d.ts +112 -0
  105. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -0
  106. package/dist/docusaurus/view-model/compound-base-vm.js +829 -0
  107. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -0
  108. package/dist/docusaurus/view-model/description-anchors.d.ts +17 -0
  109. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -0
  110. package/dist/docusaurus/view-model/description-anchors.js +37 -0
  111. package/dist/docusaurus/view-model/description-anchors.js.map +1 -0
  112. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +45 -0
  113. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -0
  114. package/dist/docusaurus/view-model/files-and-folders-vm.js +749 -0
  115. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -0
  116. package/dist/docusaurus/view-model/groups-vm.d.ts +20 -0
  117. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -0
  118. package/dist/docusaurus/view-model/groups-vm.js +297 -0
  119. package/dist/docusaurus/view-model/groups-vm.js.map +1 -0
  120. package/dist/docusaurus/view-model/members-vm.d.ts +81 -0
  121. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -0
  122. package/dist/docusaurus/view-model/members-vm.js +1017 -0
  123. package/dist/docusaurus/view-model/members-vm.js.map +1 -0
  124. package/dist/docusaurus/view-model/namespaces-vm.d.ts +24 -0
  125. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -0
  126. package/dist/docusaurus/view-model/namespaces-vm.js +527 -0
  127. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -0
  128. package/dist/docusaurus/view-model/options.d.ts +8 -0
  129. package/dist/docusaurus/view-model/options.d.ts.map +1 -0
  130. package/dist/docusaurus/view-model/options.js +42 -0
  131. package/dist/docusaurus/view-model/options.js.map +1 -0
  132. package/dist/docusaurus/view-model/pages-vm.d.ts +18 -0
  133. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -0
  134. package/dist/docusaurus/view-model/pages-vm.js +160 -0
  135. package/dist/docusaurus/view-model/pages-vm.js.map +1 -0
  136. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +44 -0
  137. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -0
  138. package/dist/docusaurus/view-model/tree-entries-vm.js +139 -0
  139. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -0
  140. package/dist/docusaurus/view-model/view-model.d.ts +34 -0
  141. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -0
  142. package/dist/docusaurus/view-model/view-model.js +284 -0
  143. package/dist/docusaurus/view-model/view-model.js.map +1 -0
  144. package/dist/docusaurus/workspace.d.ts +65 -0
  145. package/dist/docusaurus/workspace.d.ts.map +1 -0
  146. package/dist/docusaurus/workspace.js +350 -0
  147. package/dist/docusaurus/workspace.js.map +1 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +97 -0
  149. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -0
  150. package/dist/doxygen/data-model/compounds/compounddef-dm.js +498 -0
  151. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +27 -0
  153. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -0
  154. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +91 -0
  155. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -0
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +1214 -0
  157. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -0
  158. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +5995 -0
  159. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +22 -0
  161. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -0
  162. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +136 -0
  163. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +14 -0
  165. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -0
  166. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +87 -0
  167. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +23 -0
  169. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -0
  170. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +104 -0
  171. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +24 -0
  173. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -0
  174. package/dist/doxygen/data-model/compounds/inctype-dm.js +84 -0
  175. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +33 -0
  177. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -0
  178. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +102 -0
  179. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -0
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +17 -0
  181. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -0
  182. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +69 -0
  183. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -0
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +24 -0
  185. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -0
  186. package/dist/doxygen/data-model/compounds/locationtype-dm.js +109 -0
  187. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -0
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +67 -0
  189. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -0
  190. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +253 -0
  191. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -0
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +21 -0
  193. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -0
  194. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +105 -0
  195. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -0
  196. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +17 -0
  197. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -0
  198. package/dist/doxygen/data-model/compounds/membertype-dm.js +87 -0
  199. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -0
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +25 -0
  201. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -0
  202. package/dist/doxygen/data-model/compounds/paramtype-dm.js +115 -0
  203. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -0
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +26 -0
  205. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -0
  206. package/dist/doxygen/data-model/compounds/referencetype-dm.js +93 -0
  207. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -0
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +15 -0
  209. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -0
  210. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +80 -0
  211. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -0
  212. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +55 -0
  213. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -0
  214. package/dist/doxygen/data-model/compounds/reftype-dm.js +152 -0
  215. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -0
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +20 -0
  217. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -0
  218. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +77 -0
  219. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -0
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +34 -0
  221. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -0
  222. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +139 -0
  223. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -0
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +46 -0
  225. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -0
  226. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +235 -0
  227. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -0
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +17 -0
  229. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -0
  230. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +69 -0
  231. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -0
  232. package/dist/doxygen/data-model/data-model.d.ts +91 -0
  233. package/dist/doxygen/data-model/data-model.d.ts.map +1 -0
  234. package/dist/doxygen/data-model/data-model.js +245 -0
  235. package/dist/doxygen/data-model/data-model.js.map +1 -0
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +21 -0
  237. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +95 -0
  239. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -0
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +20 -0
  241. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -0
  242. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +92 -0
  243. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -0
  244. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +261 -0
  245. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -0
  246. package/dist/doxygen/data-model/doxygen-xml-parser.js +459 -0
  247. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -0
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +21 -0
  249. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -0
  250. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +96 -0
  251. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -0
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +20 -0
  253. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -0
  254. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +93 -0
  255. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -0
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +19 -0
  257. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -0
  258. package/dist/doxygen/data-model/index/indexmembertype-dm.js +89 -0
  259. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -0
  260. package/dist/doxygen/data-model/types.d.ts +44 -0
  261. package/dist/doxygen/data-model/types.d.ts.map +1 -0
  262. package/dist/doxygen/data-model/types.js +24 -0
  263. package/dist/doxygen/data-model/types.js.map +1 -0
  264. package/dist/index.d.ts +43 -0
  265. package/dist/index.d.ts.map +1 -0
  266. package/dist/index.js +69 -0
  267. package/dist/index.js.map +1 -0
  268. package/dist/tsconfig.tsbuildinfo +1 -0
  269. package/package.json +99 -0
  270. package/template/css/custom.css +908 -0
  271. package/template/img/README.md +3 -0
  272. package/template/img/document-svgrepo-com.svg +5 -0
  273. package/template/img/folder-svgrepo-com.svg +5 -0
@@ -0,0 +1,461 @@
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
+ import assert from 'node:assert';
14
+ import path from 'node:path';
15
+ import * as fs from 'node:fs/promises';
16
+ import { maxParallelPromises } from './cli-options.js';
17
+ import { folderExists } from './utils.js';
18
+ import { Page } from './view-model/pages-vm.js';
19
+ // import type { File } from '../view-model/files-and-folders-vm.js'
20
+ // ----------------------------------------------------------------------------
21
+ export class DocusaurusGenerator {
22
+ workspace;
23
+ options;
24
+ // --------------------------------------------------------------------------
25
+ constructor(workspace) {
26
+ this.workspace = workspace;
27
+ this.options = workspace.options;
28
+ }
29
+ // --------------------------------------------------------------------------
30
+ async run() {
31
+ console.log();
32
+ await this.prepareOutputFolder();
33
+ // No longer used with CommonMarkdown output.
34
+ // await this.generateConfigurationFile()
35
+ console.log();
36
+ if (this.options.verbose) {
37
+ console.log('Writing Docusaurus .md pages (object -> url)...');
38
+ }
39
+ else {
40
+ console.log('Writing Docusaurus .md pages...');
41
+ }
42
+ await this.generatePages();
43
+ if (this.options.verbose) {
44
+ console.log();
45
+ }
46
+ await this.generateTopIndexDotMdFile();
47
+ await this.generateCollectionsIndexDotMdFiles();
48
+ await this.generatePerInitialsIndexMdFiles();
49
+ console.log(this.workspace.writtenMdFilesCounter, '.md files written');
50
+ console.log();
51
+ await this.generateSidebarFile();
52
+ await this.generateMenuFile();
53
+ // await this.generateManualRedirectFiles()
54
+ await this.generateCompatibilityRedirectFiles();
55
+ await this.copyFiles();
56
+ await this.copyImageFiles();
57
+ return 0;
58
+ }
59
+ // --------------------------------------------------------------------------
60
+ // https://nodejs.org/en/learn/manipulating-files/working-with-folders-in-nodejs
61
+ async prepareOutputFolder() {
62
+ const { outputFolderPath } = this.workspace;
63
+ try {
64
+ await fs.access(outputFolderPath);
65
+ // Remove the folder if it exist.
66
+ console.log(`Removing existing folder ${outputFolderPath}...`);
67
+ await fs.rm(outputFolderPath, { recursive: true, force: true });
68
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
69
+ }
70
+ catch (err) {
71
+ // The folder does not exist, nothing to remove.
72
+ }
73
+ // Create the folder as empty.
74
+ await fs.mkdir(outputFolderPath, { recursive: true });
75
+ }
76
+ // --------------------------------------------------------------------------
77
+ async generateSidebarFile() {
78
+ const sidebarCategory = {
79
+ type: 'category',
80
+ label: this.options.sidebarCategoryLabel,
81
+ link: {
82
+ type: 'doc',
83
+ id: `${this.workspace.sidebarBaseId}index`,
84
+ },
85
+ collapsed: false,
86
+ items: [],
87
+ };
88
+ const pages = this.workspace.viewModel.collections.get('pages');
89
+ pages.createTopPagesSidebarItems(sidebarCategory);
90
+ // The order in sidebarCollectionNames also gives the the order
91
+ // of items in the sidebar.
92
+ for (const collectionName of this.workspace.sidebarCollectionNames) {
93
+ // console.log(collectionName)
94
+ const collection = this.workspace.viewModel.collections.get(collectionName);
95
+ if (collection?.isVisibleInSidebar() === true) {
96
+ collection.addSidebarItems(sidebarCategory);
97
+ }
98
+ }
99
+ // console.log(
100
+ // 'sidebar:', util.inspect(sidebar, { compact: false, depth: 999 })
101
+ // )
102
+ const jsonString = JSON.stringify(sidebarCategory, null, 2);
103
+ const { sidebarCategoryFilePath } = this.options;
104
+ const relativeFilePath = sidebarCategoryFilePath;
105
+ const absoluteFilePath = path.resolve(relativeFilePath);
106
+ // Superfluous if done after prepareOutputFolder()
107
+ await fs.mkdir(path.dirname(absoluteFilePath), { recursive: true });
108
+ console.log(`Writing sidebar file ${relativeFilePath}...`);
109
+ await fs.writeFile(absoluteFilePath, jsonString, 'utf8');
110
+ }
111
+ // --------------------------------------------------------------------------
112
+ async generateMenuFile() {
113
+ const { menuDropdownFilePath, menuDropdownLabel: label } = this.options;
114
+ if (menuDropdownFilePath.trim().length === 0) {
115
+ return;
116
+ }
117
+ let navbarEntry = {
118
+ type: 'dropdown',
119
+ label,
120
+ to: this.workspace.menuBaseUrl,
121
+ position: 'left',
122
+ items: [],
123
+ };
124
+ let hasItems = false;
125
+ // This is the order of items in the sidebar.
126
+ for (const collectionName of this.workspace.sidebarCollectionNames) {
127
+ // console.log(collectionName)
128
+ const collection = this.workspace.viewModel.collections.get(collectionName);
129
+ if (collection?.isVisibleInSidebar() === true) {
130
+ assert(navbarEntry.items !== undefined);
131
+ const items = collection.createMenuItems();
132
+ if (items.length > 0) {
133
+ navbarEntry.items.push(...collection.createMenuItems());
134
+ hasItems = true;
135
+ }
136
+ }
137
+ }
138
+ if (!hasItems) {
139
+ navbarEntry = {
140
+ label,
141
+ to: this.workspace.menuBaseUrl,
142
+ position: 'left',
143
+ };
144
+ }
145
+ // console.log(
146
+ // 'sidebarItems:',
147
+ // util.inspect(sidebarItems, { compact: false, depth: 999 })
148
+ // )
149
+ const jsonString = JSON.stringify(navbarEntry, null, 2);
150
+ assert(menuDropdownFilePath.trim().length > 0);
151
+ const relativeFilePath = menuDropdownFilePath;
152
+ const absoluteFilePath = path.resolve(relativeFilePath);
153
+ // Superfluous if done after prepareOutputFolder()
154
+ await fs.mkdir(path.dirname(absoluteFilePath), { recursive: true });
155
+ console.log(`Writing menu file ${relativeFilePath}...`);
156
+ await fs.writeFile(absoluteFilePath, jsonString, 'utf8');
157
+ }
158
+ // --------------------------------------------------------------------------
159
+ async generateCollectionsIndexDotMdFiles() {
160
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
161
+ for (const [collectionName, collection] of this.workspace.viewModel
162
+ .collections) {
163
+ // console.log(collectionName)
164
+ await collection.generateIndexDotMdFile();
165
+ }
166
+ // TODO: parallelize
167
+ }
168
+ // --------------------------------------------------------------------------
169
+ async generateTopIndexDotMdFile() {
170
+ const { outputFolderPath } = this.workspace;
171
+ const filePath = `${outputFolderPath}index.md`;
172
+ const projectBrief = this.workspace.doxygenOptions.getOptionCdataValue('PROJECT_BRIEF');
173
+ const title = this.options.mainPageTitle.length > 0
174
+ ? this.options.mainPageTitle
175
+ : `${projectBrief} API Reference`;
176
+ const permalink = ''; // The root of the API sub-site.
177
+ // This is the top index.md file (@mainpage)
178
+ const frontMatter = {
179
+ title,
180
+ slug: `${this.workspace.slugBaseUrl}${permalink}`,
181
+ // description: '...', // TODO
182
+ custom_edit_url: null,
183
+ keywords: ['doxygen', 'reference'],
184
+ };
185
+ const lines = [];
186
+ const groups = this.workspace.viewModel.collections.get('groups');
187
+ const topicsLines = groups.generateTopicsTable();
188
+ lines.push(...topicsLines);
189
+ const { mainPage } = this.workspace;
190
+ if (mainPage !== undefined) {
191
+ if (topicsLines.length > 0) {
192
+ lines.push('');
193
+ lines.push('## Description');
194
+ }
195
+ const { detailedDescriptionHtmlLines, briefDescriptionHtmlString } = mainPage;
196
+ if (detailedDescriptionHtmlLines !== undefined &&
197
+ detailedDescriptionHtmlLines.length > 0) {
198
+ lines.push('');
199
+ lines.push(...mainPage.renderDetailedDescriptionToHtmlLines({
200
+ briefDescriptionHtmlString,
201
+ detailedDescriptionHtmlLines,
202
+ showHeader: false,
203
+ showBrief: false,
204
+ }));
205
+ }
206
+ }
207
+ if (this.options.originalPagesNote.length > 0) {
208
+ lines.push('');
209
+ lines.push(':::note');
210
+ lines.push(this.options.originalPagesNote);
211
+ lines.push(':::');
212
+ }
213
+ if (this.options.verbose) {
214
+ console.log(`Writing top index file ${filePath}...`);
215
+ }
216
+ await this.workspace.writeOutputMdFile({
217
+ filePath,
218
+ frontMatter,
219
+ bodyLines: lines,
220
+ });
221
+ }
222
+ // --------------------------------------------------------------------------
223
+ async generatePerInitialsIndexMdFiles() {
224
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
225
+ for (const [collectionName, collection] of this.workspace.viewModel
226
+ .collections) {
227
+ // console.log(collectionName)
228
+ await collection.generatePerInitialsIndexMdFiles();
229
+ }
230
+ // TODO: parallelize
231
+ }
232
+ // --------------------------------------------------------------------------
233
+ async generatePages() {
234
+ const promises = [];
235
+ for (const [, compound] of this.workspace.viewModel.compoundsById) {
236
+ if (compound instanceof Page) {
237
+ if (compound.id === 'indexpage') {
238
+ // This is the @mainpage. We diverge from Doxygen and generate
239
+ // the API main page differently, with the list of topics and
240
+ // this page detailed description. Therefore it is not generated
241
+ // as a regular page and must be skipped at this stage.
242
+ continue;
243
+ }
244
+ }
245
+ const permalink = compound.relativePermalink;
246
+ const { sidebarId } = compound;
247
+ if (permalink === undefined || sidebarId === undefined) {
248
+ if (this.options.verbose) {
249
+ console.warn('Skip', compound.id, 'no permalink');
250
+ }
251
+ continue;
252
+ }
253
+ // assert(permalink !== undefined)
254
+ if (this.options.verbose) {
255
+ console.log(`${compound.kind}: ${compound.compoundName.replaceAll(/[ ]*/g, '')}`, '->', `${this.workspace.absoluteBaseUrl}${permalink}...`);
256
+ }
257
+ if (this.options.debug) {
258
+ await this.generatePage(compound);
259
+ }
260
+ else {
261
+ if (promises.length > maxParallelPromises) {
262
+ await Promise.all(promises);
263
+ promises.length = 0;
264
+ }
265
+ promises.push(this.generatePage(compound));
266
+ }
267
+ }
268
+ if (promises.length > 0) {
269
+ await Promise.all(promises);
270
+ }
271
+ }
272
+ async generatePage(compound) {
273
+ const { sidebarId } = compound;
274
+ assert(sidebarId !== undefined);
275
+ const fileName = `${sidebarId}.md`;
276
+ // console.log('fileName:', fileName)
277
+ const filePath = `${this.workspace.outputFolderPath}${fileName}`;
278
+ const permalink = compound.relativePermalink;
279
+ assert(permalink !== undefined);
280
+ const slug = `${this.workspace.slugBaseUrl}${permalink}`;
281
+ const frontMatter = {
282
+ // title: `${dataObject.pageTitle ?? compound.compoundName}`,
283
+ slug,
284
+ // description: '...', // TODO
285
+ custom_edit_url: null,
286
+ toc_max_heading_level: 4,
287
+ keywords: ['doxygen', 'reference', compound.kind],
288
+ };
289
+ const bodyLines = compound.renderToLines(frontMatter);
290
+ assert(compound.relativePermalink !== undefined);
291
+ const pagePermalink = this.workspace.pageBaseUrl + compound.relativePermalink;
292
+ await this.workspace.writeOutputMdFile({
293
+ filePath,
294
+ frontMatter,
295
+ bodyLines,
296
+ title: compound.pageTitle,
297
+ pagePermalink,
298
+ });
299
+ }
300
+ // --------------------------------------------------------------------------
301
+ async generateCompatibilityRedirectFiles() {
302
+ const redirectsOutputFolderPath = this.options.compatibilityRedirectsOutputFolderPath;
303
+ if (redirectsOutputFolderPath === undefined) {
304
+ return;
305
+ }
306
+ console.log(`Removing existing folder static/${redirectsOutputFolderPath}...`);
307
+ await fs.rm(`static/${redirectsOutputFolderPath}`, {
308
+ recursive: true,
309
+ force: true,
310
+ });
311
+ console.log('Writing redirect files...');
312
+ const compoundIds = Array.from(this.workspace.viewModel.compoundsById.keys()).sort();
313
+ for (const compoundId of compoundIds) {
314
+ const compound = this.workspace.viewModel.compoundsById.get(compoundId);
315
+ assert(compound !== undefined);
316
+ const filePathBase = `static/${redirectsOutputFolderPath}/${compoundId}`;
317
+ const filePath = `${filePathBase}.html`;
318
+ if (compound.relativePermalink === undefined) {
319
+ continue;
320
+ }
321
+ const { absoluteBaseUrl } = this.workspace;
322
+ const permalink = `${absoluteBaseUrl}${compound.relativePermalink}/`;
323
+ await this.generateRedirectFile({
324
+ filePath,
325
+ permalink,
326
+ });
327
+ if (compound.kind === 'file') {
328
+ const filePath = `${filePathBase}_source.html`;
329
+ await this.generateRedirectFile({
330
+ filePath,
331
+ permalink,
332
+ });
333
+ }
334
+ else if (compound.kind === 'class' || compound.kind === 'struct') {
335
+ const filePath = `${filePathBase}-members.html`;
336
+ await this.generateRedirectFile({
337
+ filePath,
338
+ permalink,
339
+ });
340
+ }
341
+ }
342
+ const indexFilesMap = new Map();
343
+ indexFilesMap.set('classes.html', 'classes');
344
+ indexFilesMap.set('files.html', 'files');
345
+ indexFilesMap.set('index.html', '');
346
+ indexFilesMap.set('namespaces.html', 'namespaces');
347
+ indexFilesMap.set('pages.html', 'pages');
348
+ indexFilesMap.set('topics.html', 'groups');
349
+ // Not redirectd:
350
+ // annotated
351
+ // doxygen_crawl
352
+ // functions, _[a-z~], _func, _type, _vars
353
+ // hierarchy
354
+ // namespacemembers, _enum, _func, type, _vars
355
+ for (const [from, to] of indexFilesMap) {
356
+ const filePath = path.join('static', redirectsOutputFolderPath, from);
357
+ const permalink = `${this.workspace.absoluteBaseUrl}${to}/`;
358
+ await this.generateRedirectFile({
359
+ filePath,
360
+ permalink,
361
+ });
362
+ }
363
+ if (this.options.verbose) {
364
+ console.log(this.workspace.writtenHtmlFilesCounter, 'html files written');
365
+ }
366
+ }
367
+ // async generateManualRedirectFiles(): Promise<void> {
368
+ // if (this.workspace.pluginOptions.redirects === undefined) {
369
+ // return
370
+ // }
371
+ // const redirectsOutputFolderPath = path.join('static')
372
+ // for (const entry of this.workspace.pluginOptions.redirects) {
373
+ // const fromArray = Array.isArray(entry.from) ? entry.from : [entry.from]
374
+ // for (const from of fromArray) {
375
+ // const filePath = path.join(redirectsOutputFolderPath, from)
376
+ // const permalink = `${this.workspace.siteConfig.baseUrl}${entry.to}/`
377
+ // await this.generateRedirectFile({
378
+ // filePath,
379
+ // permalink
380
+ // })
381
+ // }
382
+ // }
383
+ // }
384
+ // --------------------------------------------------------------------------
385
+ // If `trailingSlash` is true, Docusaurus redirects do not generate
386
+ // .html files, therefore we have to do it manually.
387
+ async generateRedirectFile({ filePath, permalink, }) {
388
+ // console.log(filePath)
389
+ const lines = [];
390
+ lines.push('<!DOCTYPE html>');
391
+ lines.push('<html>');
392
+ lines.push(' <head>');
393
+ lines.push(' <meta charset="UTF-8">');
394
+ lines.push(` <meta http-equiv="refresh" content="0; url=${permalink}">`);
395
+ lines.push(` <link rel="canonical" href="${permalink}" />`);
396
+ lines.push(' </head>');
397
+ lines.push(' <script>');
398
+ lines.push(` window.location.href = '${permalink}'` +
399
+ ' + window.location.search + window.location.hash;');
400
+ lines.push(' </script>');
401
+ lines.push('</html>');
402
+ lines.push('');
403
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
404
+ const fileHandle = await fs.open(filePath, 'w');
405
+ await fileHandle.write(lines.join('\n'));
406
+ await fileHandle.close();
407
+ this.workspace.writtenHtmlFilesCounter += 1;
408
+ }
409
+ // --------------------------------------------------------------------------
410
+ async copyFiles() {
411
+ const destImgFolderPath = path.join('static', 'img', 'doxygen2docusaurus');
412
+ await fs.mkdir(destImgFolderPath, { recursive: true });
413
+ let fromFilePath = path.join(this.workspace.projectPath, 'template', 'img', 'document-svgrepo-com.svg');
414
+ let toFilePath = path.join(destImgFolderPath, 'document-svgrepo-com.svg');
415
+ console.log('Copying image file', toFilePath);
416
+ await fs.copyFile(fromFilePath, toFilePath);
417
+ fromFilePath = path.join(this.workspace.projectPath, 'template', 'img', 'folder-svgrepo-com.svg');
418
+ toFilePath = path.join(destImgFolderPath, 'folder-svgrepo-com.svg');
419
+ console.log('Copying image file', toFilePath);
420
+ await fs.copyFile(fromFilePath, toFilePath);
421
+ fromFilePath = path.join(this.workspace.projectPath, 'template', 'css', 'custom.css');
422
+ toFilePath = this.options.customCssFilePath;
423
+ if (!(await folderExists(path.dirname(toFilePath)))) {
424
+ await fs.mkdir(path.dirname(toFilePath), { recursive: true });
425
+ }
426
+ console.log('Copying css file', toFilePath);
427
+ await fs.copyFile(fromFilePath, toFilePath);
428
+ }
429
+ // --------------------------------------------------------------------------
430
+ async copyImageFiles() {
431
+ if (this.workspace.dataModel.xml.images.length > 0) {
432
+ return;
433
+ }
434
+ if (!this.options.verbose) {
435
+ if (this.workspace.dataModel.xml.images.length > 0) {
436
+ console.log('Copying', this.workspace.dataModel.xml.images.length, 'image files...');
437
+ }
438
+ }
439
+ const destImgFolderPath = path.join('static', ...this.options.imagesFolderPath.split('/'));
440
+ await fs.mkdir(destImgFolderPath, { recursive: true });
441
+ const images = new Set();
442
+ for (const image of this.workspace.dataModel.xml.images) {
443
+ if (image.name !== undefined && image.name.length > 0) {
444
+ images.add(image.name);
445
+ }
446
+ }
447
+ const uniqueNames = Array.from(images).sort();
448
+ let fromFilePath = '';
449
+ let toFilePath = '';
450
+ for (const name of uniqueNames) {
451
+ fromFilePath = path.join(this.options.doxygenXmlInputFolderPath, name);
452
+ toFilePath = path.join(destImgFolderPath, name);
453
+ if (this.options.verbose) {
454
+ console.log('Copying image file', toFilePath);
455
+ }
456
+ await fs.copyFile(fromFilePath, toFilePath);
457
+ }
458
+ }
459
+ }
460
+ // ----------------------------------------------------------------------------
461
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/docusaurus/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { ElementLinesRendererBase, ElementStringRendererBase } from './element-renderer-base.js';
2
+ import { AbstractDocAnchorType, type AbstractDocBlockQuoteType, AbstractDocEmptyType, AbstractDocFormulaType, type AbstractDocHeadingType, AbstractDocImageType, AbstractDocMarkupType, type AbstractDocParamListType, type AbstractDocParaType, AbstractDocRefTextType, type AbstractDocSimpleSectType, AbstractDocURLLink, AbstractEmojiType, type AbstractPreformattedType, type AbstractSpType, type AbstractVerbatimType, type AbstractDescriptionType } from '../../doxygen/data-model/compounds/descriptiontype-dm.js';
3
+ import { AbstractDocHtmlOnlyType } from '../../doxygen/data-model/compounds/compounddef-dm.js';
4
+ import { AbstractDataModelBase } from '../../doxygen/data-model/types.js';
5
+ export declare class DescriptionTypeLinesRenderer extends ElementLinesRendererBase {
6
+ renderToLines(element: AbstractDescriptionType, type: string): string[];
7
+ }
8
+ export declare class DocParaTypeLinesRenderer extends ElementLinesRendererBase {
9
+ renderToLines(element: AbstractDocParaType, type: string): string[];
10
+ isParagraph(element: string | AbstractDataModelBase): boolean;
11
+ }
12
+ export declare class DocURLLinkStringRenderer extends ElementStringRendererBase {
13
+ renderToString(element: AbstractDocURLLink, type: string): string;
14
+ }
15
+ export declare class DocMarkupTypeStringRenderer extends ElementStringRendererBase {
16
+ renderToString(element: AbstractDocMarkupType, type: string): string;
17
+ }
18
+ export declare class ComputerOutputDataModelStringRenderer extends ElementStringRendererBase {
19
+ renderToString(element: AbstractDocMarkupType, type: string): string;
20
+ }
21
+ export declare class DocRefTextTypeStringRenderer extends ElementStringRendererBase {
22
+ renderToString(element: AbstractDocRefTextType, type: string): string;
23
+ }
24
+ export declare class DocSimpleSectTypeLinesRenderer extends ElementLinesRendererBase {
25
+ renderToLines(element: AbstractDocSimpleSectType, type: string): string[];
26
+ }
27
+ export declare class SpTypeStringRenderer extends ElementStringRendererBase {
28
+ renderToString(element: AbstractSpType, type: string): string;
29
+ }
30
+ export declare class DocEmptyTypeStringRenderer extends ElementStringRendererBase {
31
+ renderToString(element: AbstractDocEmptyType, type: string): string;
32
+ }
33
+ export declare class DocParamListTypeLinesRenderer extends ElementLinesRendererBase {
34
+ renderToLines(element: AbstractDocParamListType, type: string): string[];
35
+ }
36
+ export declare class DocAnchorTypeLinesRenderer extends ElementLinesRendererBase {
37
+ renderToLines(element: AbstractDocAnchorType, type: string): string[];
38
+ }
39
+ export declare class VerbatimStringRenderer extends ElementStringRendererBase {
40
+ renderToString(element: AbstractVerbatimType, type: string): string;
41
+ }
42
+ export declare class PreformattedStringRenderer extends ElementStringRendererBase {
43
+ renderToString(element: AbstractPreformattedType, type: string): string;
44
+ }
45
+ export declare class FormulaStringRenderer extends ElementStringRendererBase {
46
+ renderToString(element: AbstractDocFormulaType, type: string): string;
47
+ }
48
+ export declare class ImageStringRenderer extends ElementStringRendererBase {
49
+ renderToString(element: AbstractDocImageType, type: string): string;
50
+ }
51
+ export declare class HtmlOnlyStringRenderer extends ElementStringRendererBase {
52
+ renderToString(element: AbstractDocHtmlOnlyType, type: string): string;
53
+ }
54
+ export declare class HeadingLinesRenderer extends ElementLinesRendererBase {
55
+ renderToLines(element: AbstractDocHeadingType, type: string): string[];
56
+ }
57
+ export declare class EmojiStringRenderer extends ElementStringRendererBase {
58
+ renderToString(element: AbstractEmojiType, type: string): string;
59
+ }
60
+ export declare class BlockquoteLinesRenderer extends ElementLinesRendererBase {
61
+ renderToLines(element: AbstractDocBlockQuoteType, type: string): string[];
62
+ }
63
+ //# sourceMappingURL=descriptiontype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptiontype.d.ts","sourceRoot":"","sources":["../../../src/docusaurus/renderers/descriptiontype.ts"],"names":[],"mappings":"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"}