@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,674 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /*
3
+ * This file is part of the xPack project (http://xpack.github.io).
4
+ * Copyright (c) 2025 Liviu Ionescu. All rights reserved.
5
+ *
6
+ * Permission to use, copy, modify, and/or distribute this software
7
+ * for any purpose is hereby granted, under the terms of the MIT license.
8
+ *
9
+ * If a copy of the license was not distributed with this file, it can
10
+ * be obtained from https://opensource.org/licenses/MIT.
11
+ */
12
+ // ----------------------------------------------------------------------------
13
+ import assert from 'node:assert';
14
+ import util from 'node:util';
15
+ import { ElementLinesRendererBase, ElementStringRendererBase, } from './element-renderer-base.js';
16
+ import { AbstractDocAnchorType, AbstractDocEmptyType, AbstractDocFormulaType, AbstractDocImageType, AbstractDocMarkupType, AbstractDocRefTextType, AbstractDocURLLink, AbstractEmojiType, ParameterNameDataModel, ParameterTypeDataModel, HrulerDataModel, } from '../../doxygen/data-model/compounds/descriptiontype-dm.js';
17
+ import { AbstractRefTextType } from '../../doxygen/data-model/compounds/reftexttype-dm.js';
18
+ import { getPermalinkAnchor, isUrl, stripLeadingAndTrailingNewLines, } from '../utils.js';
19
+ import { AbstractDocHtmlOnlyType, LatexOnlyDataModel, ManOnlyDataModel, RtfOnlyDataModel, XmlOnlyDataModel, } from '../../doxygen/data-model/compounds/compounddef-dm.js';
20
+ import { renderParagraphs } from '../cli-options.js';
21
+ import { AbstractDataModelBase } from '../../doxygen/data-model/types.js';
22
+ // ----------------------------------------------------------------------------
23
+ export class DescriptionTypeLinesRenderer extends ElementLinesRendererBase {
24
+ renderToLines(element, type) {
25
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
26
+ if (element.title !== undefined && element.title.length > 0) {
27
+ console.error('title ignored in', element.constructor.name);
28
+ }
29
+ const lines = [];
30
+ lines.push(...this.workspace.renderElementsArrayToLines(element.children, type));
31
+ return lines;
32
+ }
33
+ }
34
+ // ----------------------------------------------------------------------------
35
+ export class DocParaTypeLinesRenderer extends ElementLinesRendererBase {
36
+ renderToLines(element, type) {
37
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
38
+ // console.log(element)
39
+ const lines = [];
40
+ let inParagraph = false;
41
+ let text = '';
42
+ assert(element.children !== undefined);
43
+ for (const child of element.children) {
44
+ // console.log(child)
45
+ if (this.isParagraph(child)) {
46
+ inParagraph = true;
47
+ text += this.workspace.renderElementToString(child,
48
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
49
+ renderParagraphs ? 'html' : type);
50
+ }
51
+ else {
52
+ if (inParagraph) {
53
+ text = text.trim();
54
+ // console.log(text)
55
+ if (text.length > 0) {
56
+ lines.push('');
57
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
58
+ if ((element.skipPara ?? false) || !renderParagraphs) {
59
+ lines.push(text);
60
+ }
61
+ else {
62
+ lines.push(`<p>${text}</p>`);
63
+ lines.push('');
64
+ }
65
+ }
66
+ inParagraph = false;
67
+ text = '';
68
+ }
69
+ lines.push(...this.workspace.renderElementToLines(child, type));
70
+ }
71
+ }
72
+ if (inParagraph) {
73
+ text = text.trim();
74
+ // console.log(text)
75
+ if (text.length > 0) {
76
+ lines.push('');
77
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
78
+ if ((element.skipPara ?? false) || !renderParagraphs) {
79
+ lines.push(text);
80
+ }
81
+ else {
82
+ lines.push(`<p>${text}</p>`);
83
+ lines.push('');
84
+ }
85
+ }
86
+ }
87
+ // console.log(lines)
88
+ return lines;
89
+ }
90
+ // docCmdGroup: 2109
91
+ isParagraph(element) {
92
+ if (typeof element === 'string') {
93
+ return true;
94
+ }
95
+ else if (element instanceof HrulerDataModel) {
96
+ return false; // Explicitly not inside a paragraph.
97
+ // } else if (element instanceof LineBreakDataModel) {
98
+ // return false // Explicitly not inside a paragraph.
99
+ }
100
+ else if (element instanceof AbstractDocHtmlOnlyType) {
101
+ return false; // Explicitly not inside a paragraph.
102
+ }
103
+ else if (element instanceof ManOnlyDataModel) {
104
+ return false; // Explicitly not inside a paragraph.
105
+ }
106
+ else if (element instanceof XmlOnlyDataModel) {
107
+ return false; // Explicitly not inside a paragraph.
108
+ }
109
+ else if (element instanceof RtfOnlyDataModel) {
110
+ return false; // Explicitly not inside a paragraph.
111
+ }
112
+ else if (element instanceof LatexOnlyDataModel) {
113
+ return false; // Explicitly not inside a paragraph.
114
+ }
115
+ else if (element instanceof AbstractDocURLLink) {
116
+ return true;
117
+ }
118
+ else if (element instanceof AbstractDocMarkupType) {
119
+ return true;
120
+ }
121
+ else if (element instanceof AbstractDocImageType) {
122
+ return true;
123
+ // Not defined yet.
124
+ // <xsd:element name="dot" type="docDotMscType" />
125
+ // <xsd:element name="msc" type="docDotMscType" />
126
+ // <xsd:element name="plantuml" type="docPlantumlType" />
127
+ }
128
+ else if (element instanceof AbstractDocAnchorType) {
129
+ return true;
130
+ }
131
+ else if (element instanceof AbstractDocFormulaType) {
132
+ return true;
133
+ }
134
+ else if (element instanceof AbstractDocRefTextType) {
135
+ return true;
136
+ }
137
+ else if (element instanceof AbstractEmojiType) {
138
+ return true;
139
+ }
140
+ else if (element instanceof AbstractDocEmptyType) {
141
+ return true;
142
+ }
143
+ // The rest, from "programlisting" on, are not paragraphs.
144
+ return false;
145
+ }
146
+ }
147
+ // ----------------------------------------------------------------------------
148
+ export class DocURLLinkStringRenderer extends ElementStringRendererBase {
149
+ renderToString(element, type) {
150
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
151
+ let text = '';
152
+ text += `<a href="${element.url}">`;
153
+ text += this.workspace.renderElementsArrayToString(element.children, type);
154
+ text += '</a>';
155
+ return text;
156
+ }
157
+ }
158
+ // ----------------------------------------------------------------------------
159
+ const htmlElements = {
160
+ BoldDataModel: 'b',
161
+ EmphasisDataModel: 'em',
162
+ UnderlineDataModel: 'u',
163
+ SubscriptDataModel: 'sub',
164
+ SuperscriptDataModel: 'sup',
165
+ };
166
+ export class DocMarkupTypeStringRenderer extends ElementStringRendererBase {
167
+ renderToString(element, type) {
168
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
169
+ const htmlElement = htmlElements[element.constructor.name];
170
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
171
+ if (htmlElement === undefined) {
172
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
173
+ console.error(element.constructor.name, 'not yet rendered in', this.constructor.name);
174
+ return '';
175
+ }
176
+ let text = '';
177
+ text += `<${htmlElement}>`;
178
+ text += this.workspace.renderElementsArrayToString(element.children, type);
179
+ text += `</${htmlElement}>`;
180
+ return text;
181
+ }
182
+ }
183
+ export class ComputerOutputDataModelStringRenderer extends ElementStringRendererBase {
184
+ renderToString(element, type) {
185
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
186
+ let text = '';
187
+ // Cannot use `...` since it may include html code (like <a>).
188
+ // Cannot use <code> since Docusaurus renders it as a block if it includes
189
+ // other elements like <a>.
190
+ text += '<span class="doxyComputerOutput">';
191
+ // Inherit type, do not use 'html' since Docusaurus may parse
192
+ // it as markdown.
193
+ text += this.workspace.renderElementsArrayToString(element.children, type);
194
+ text += '</span>';
195
+ return text;
196
+ }
197
+ }
198
+ // ----------------------------------------------------------------------------
199
+ export class DocRefTextTypeStringRenderer extends ElementStringRendererBase {
200
+ renderToString(element, type) {
201
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
202
+ if (element.external !== undefined && element.external.length > 0) {
203
+ console.error('external ignored in', element.constructor.name);
204
+ }
205
+ let text = '';
206
+ let permalink = undefined;
207
+ if (element.refid.length > 0) {
208
+ permalink = this.workspace.getPermalink({
209
+ refid: element.refid,
210
+ kindref: element.kindref,
211
+ });
212
+ }
213
+ if (permalink !== undefined && permalink.length > 1) {
214
+ text += `<a href="${permalink}">`;
215
+ text += this.workspace.renderElementsArrayToString(element.children, type);
216
+ text += '</a>';
217
+ }
218
+ else {
219
+ text += this.workspace.renderElementsArrayToString(element.children, type);
220
+ }
221
+ return text;
222
+ }
223
+ }
224
+ // ----------------------------------------------------------------------------
225
+ // <xsd:simpleType name="DoxSimpleSectKind">
226
+ // <xsd:restriction base="xsd:string">
227
+ // <xsd:enumeration value="see" />
228
+ // <xsd:enumeration value="return" />
229
+ // <xsd:enumeration value="author" />
230
+ // <xsd:enumeration value="authors" />
231
+ // <xsd:enumeration value="version" />
232
+ // <xsd:enumeration value="since" />
233
+ // <xsd:enumeration value="date" />
234
+ // <xsd:enumeration value="note" />
235
+ // <xsd:enumeration value="warning" />
236
+ // <xsd:enumeration value="pre" />
237
+ // <xsd:enumeration value="post" />
238
+ // <xsd:enumeration value="copyright" />
239
+ // <xsd:enumeration value="invariant" />
240
+ // <xsd:enumeration value="remark" />
241
+ // <xsd:enumeration value="attention" />
242
+ // <xsd:enumeration value="important" />
243
+ // <xsd:enumeration value="par" />
244
+ // <xsd:enumeration value="rcs" />
245
+ // </xsd:restriction>
246
+ // </xsd:simpleType>
247
+ export class DocSimpleSectTypeLinesRenderer extends ElementLinesRendererBase {
248
+ renderToLines(element, type) {
249
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
250
+ const lines = [];
251
+ // doxygen.git/src/translator_en.h
252
+ const DoxSimpleSectKind = {
253
+ see: 'See Also',
254
+ return: 'Returns',
255
+ author: 'Author',
256
+ authors: 'Authors',
257
+ version: 'Version',
258
+ since: 'Since',
259
+ date: 'Date',
260
+ // note -> :::info (note is white in Docusaurus)
261
+ // warning -> :::warning
262
+ pre: 'Precondition',
263
+ post: 'Postcondition',
264
+ copyright: 'Copyright',
265
+ invariant: 'Invariant',
266
+ remark: 'Remarks',
267
+ // attention: -> :::danger
268
+ // important: -> :::tip
269
+ // par: - paragraph with custom title
270
+ // rcs: - apparently ignored
271
+ };
272
+ lines.push('');
273
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
274
+ if (DoxSimpleSectKind[element.kind] !== undefined) {
275
+ const { kind } = element;
276
+ const title = DoxSimpleSectKind[kind];
277
+ const body = this.workspace
278
+ .renderElementsArrayToString(element.children, 'html')
279
+ .trim();
280
+ lines.push('<dl class="doxySectionUser">');
281
+ lines.push(`<dt>${title}</dt>`);
282
+ if (body.length === 0) {
283
+ lines.push('<dd></dd>');
284
+ }
285
+ else {
286
+ if (!body.includes('\n')) {
287
+ lines.push(`<dd>${body}</dd>`);
288
+ }
289
+ else {
290
+ lines.push('<dd>');
291
+ lines.push(...body.split('\n'));
292
+ lines.push('</dd>');
293
+ }
294
+ }
295
+ lines.push('</dl>');
296
+ }
297
+ else if (element.kind === 'par') {
298
+ assert(element.title !== undefined);
299
+ const title = element.title.replace(/\.$/, '');
300
+ const body = this.workspace
301
+ .renderElementsArrayToString(element.children, 'html')
302
+ .trim();
303
+ lines.push('<dl class="doxySectionUser">');
304
+ lines.push(`<dt>${title}</dt>`);
305
+ if (body.length === 0) {
306
+ lines.push('<dd></dd>');
307
+ }
308
+ else {
309
+ if (!body.includes('\n')) {
310
+ lines.push(`<dd>${body}</dd>`);
311
+ }
312
+ else {
313
+ lines.push('<dd>');
314
+ lines.push(...body.split('\n'));
315
+ lines.push('</dd>');
316
+ }
317
+ }
318
+ lines.push('</dl>');
319
+ }
320
+ else if (element.kind === 'note') {
321
+ // https://docusaurus.io/docs/markdown-features/admonitions
322
+ lines.push('');
323
+ lines.push(':::info');
324
+ lines.push(this.workspace
325
+ .renderElementToString(element.children,
326
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
327
+ renderParagraphs ? 'html' : 'markdown')
328
+ .trim());
329
+ lines.push(':::');
330
+ }
331
+ else if (element.kind === 'warning') {
332
+ lines.push('');
333
+ lines.push(':::warning');
334
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
335
+ lines.push(this.workspace
336
+ .renderElementToString(element.children,
337
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
338
+ renderParagraphs ? 'html' : 'markdown')
339
+ .trim());
340
+ lines.push(':::');
341
+ }
342
+ else if (element.kind === 'attention') {
343
+ lines.push('');
344
+ lines.push(':::danger');
345
+ lines.push(this.workspace
346
+ .renderElementToString(element.children,
347
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
348
+ renderParagraphs ? 'html' : 'markdown')
349
+ .trim());
350
+ lines.push(':::');
351
+ }
352
+ else if (element.kind === 'important') {
353
+ lines.push('');
354
+ lines.push(':::tip');
355
+ lines.push(this.workspace
356
+ .renderElementToString(element.children,
357
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
358
+ renderParagraphs ? 'html' : 'markdown')
359
+ .trim());
360
+ lines.push(':::');
361
+ }
362
+ else {
363
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
364
+ console.error(element.constructor.name, 'kind', element.kind, 'not yet rendered in', this.constructor.name);
365
+ }
366
+ lines.push('');
367
+ return lines;
368
+ }
369
+ }
370
+ // ----------------------------------------------------------------------------
371
+ export class SpTypeStringRenderer extends ElementStringRendererBase {
372
+ renderToString(element, type) {
373
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
374
+ let text = '';
375
+ let spaces = 1;
376
+ if (element.value !== undefined && element.value.valueOf() > 1) {
377
+ spaces = element.value.valueOf();
378
+ }
379
+ for (let i = 0; i < spaces; i++) {
380
+ text += ' ';
381
+ }
382
+ return text;
383
+ }
384
+ }
385
+ // ----------------------------------------------------------------------------
386
+ export class DocEmptyTypeStringRenderer extends ElementStringRendererBase {
387
+ renderToString(element, type) {
388
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
389
+ let text = '';
390
+ switch (element.constructor.name) {
391
+ case 'HrulerDataModel':
392
+ text += '\n';
393
+ text += '<hr/>';
394
+ text += '\n';
395
+ break;
396
+ case 'LineBreakDataModel':
397
+ text += '\n';
398
+ text += '<br/>';
399
+ break;
400
+ case 'NonBreakableSpaceDataModel':
401
+ text += '&nbsp;';
402
+ break;
403
+ default:
404
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
405
+ console.error(element.constructor.name, 'not yet rendered in', this.constructor.name);
406
+ }
407
+ return text;
408
+ }
409
+ }
410
+ // ----------------------------------------------------------------------------
411
+ export class DocParamListTypeLinesRenderer extends ElementLinesRendererBase {
412
+ renderToLines(element, type) {
413
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
414
+ const lines = [];
415
+ if (element.parameterItems !== undefined) {
416
+ const titlesByKind = {
417
+ templateparam: 'Template Parameters',
418
+ retval: 'Return Values',
419
+ param: 'Parameters',
420
+ exception: 'Exceptions',
421
+ };
422
+ const { kind } = element;
423
+ const title = titlesByKind[kind];
424
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
425
+ if (title === undefined) {
426
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
427
+ console.error(element.constructor.name, 'kind', kind, 'not yet rendered in', this.constructor.name);
428
+ }
429
+ switch (element.constructor.name) {
430
+ case 'ParameterListDataModel':
431
+ lines.push('');
432
+ lines.push('<dl class="doxyParamsList">');
433
+ lines.push(`<dt class="doxyParamsTableTitle">${title}</dt>`);
434
+ lines.push('<dd>');
435
+ lines.push('<table class="doxyParamsTable">');
436
+ for (const parameterItem of element.parameterItems) {
437
+ // console.log(util.inspect(parameterItem,
438
+ // { compact: false, depth: 999 }))
439
+ const names = [];
440
+ if (parameterItem.parameterNameList !== undefined) {
441
+ for (const parameterName of parameterItem.parameterNameList) {
442
+ // console.log(util.inspect(parameterName.children,
443
+ // { compact: false, depth: 999 }))
444
+ assert(parameterName.children !== undefined);
445
+ for (const child of parameterName.children) {
446
+ assert(child instanceof AbstractDataModelBase);
447
+ assert(child.children !== undefined);
448
+ for (const subChild of child.children) {
449
+ if (typeof subChild === 'string') {
450
+ if (child instanceof ParameterNameDataModel) {
451
+ if (child.direction !== undefined) {
452
+ names.push(`[${child.direction}] ${subChild}`);
453
+ }
454
+ else {
455
+ names.push(subChild);
456
+ }
457
+ }
458
+ else if (child instanceof ParameterTypeDataModel) {
459
+ console.error(util.inspect(parameterName.children, {
460
+ compact: false,
461
+ depth: 999,
462
+ }));
463
+ console.error(element.constructor.name, 'ParameterType not yet rendered in', this.constructor.name);
464
+ }
465
+ else {
466
+ names.push(subChild);
467
+ }
468
+ }
469
+ else if (subChild instanceof AbstractRefTextType) {
470
+ const name = this.workspace.renderElementToString(subChild, 'html');
471
+ names.push(name);
472
+ }
473
+ else {
474
+ console.error(util.inspect(subChild, { compact: false, depth: 999 }));
475
+ console.error(element.constructor.name, 'sub child not yet rendered in', this.constructor.name);
476
+ }
477
+ }
478
+ }
479
+ }
480
+ }
481
+ const parameters = this.workspace
482
+ .renderElementToString(parameterItem.parameterDescription, 'html')
483
+ .trim();
484
+ const escapedName = this.workspace.renderString(names.join(', '), 'html');
485
+ lines.push('<tr class="doxyParamItem">');
486
+ lines.push(`<td class="doxyParamItemName">${escapedName}</td>`);
487
+ lines.push(`<td class="doxyParamItemDescription">${parameters}</td>`);
488
+ lines.push('</tr>');
489
+ }
490
+ lines.push('</table>');
491
+ lines.push('</dd>');
492
+ lines.push('</dl>');
493
+ break;
494
+ default:
495
+ console.error(util.inspect(element, { compact: false, depth: 999 }));
496
+ console.error(element.constructor.name, 'not yet rendered in', this.constructor.name);
497
+ }
498
+ }
499
+ return lines;
500
+ }
501
+ }
502
+ // ----------------------------------------------------------------------------
503
+ export class DocAnchorTypeLinesRenderer extends ElementLinesRendererBase {
504
+ renderToLines(element, type) {
505
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
506
+ const lines = [];
507
+ const anchor = getPermalinkAnchor(element.id);
508
+ lines.push(`<a id="${anchor}"></a>`);
509
+ return lines;
510
+ }
511
+ }
512
+ // ----------------------------------------------------------------------------
513
+ export class VerbatimStringRenderer extends ElementStringRendererBase {
514
+ renderToString(element, type) {
515
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
516
+ let text = '';
517
+ text += '\n';
518
+ // Docusaurus adds the copy button.
519
+ // The content must be on the same line.
520
+ text += '\n';
521
+ text += '<pre><code>';
522
+ text += stripLeadingAndTrailingNewLines(this.workspace.renderElementsArrayToString(element.children, 'html'));
523
+ text += '\n';
524
+ text += '</code></pre>';
525
+ text += '\n';
526
+ // text += '\n'
527
+ return text;
528
+ }
529
+ }
530
+ export class PreformattedStringRenderer extends ElementStringRendererBase {
531
+ renderToString(element, type) {
532
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
533
+ let text = '';
534
+ text += '\n';
535
+ // Docusaurus adds the copy button.
536
+ // The content must be on the same line.
537
+ text += '\n';
538
+ text += '<pre><code>';
539
+ text += stripLeadingAndTrailingNewLines(this.workspace.renderElementsArrayToString(element.children, 'html'));
540
+ text += '\n';
541
+ text += '</code></pre>';
542
+ text += '\n';
543
+ // text += '\n'
544
+ return text;
545
+ }
546
+ }
547
+ // ----------------------------------------------------------------------------
548
+ export class FormulaStringRenderer extends ElementStringRendererBase {
549
+ renderToString(element, type) {
550
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
551
+ let text = '';
552
+ const formula = this.workspace.renderString(element.text, 'html');
553
+ if (this.workspace.options.verbose) {
554
+ console.warn('LaTeX formula', formula, 'not rendered properly');
555
+ }
556
+ // element.id is ignored.
557
+ // Docusaurus renders it as a div with copy button.
558
+ text += `<code>${formula}</code>`;
559
+ return text;
560
+ }
561
+ }
562
+ // ----------------------------------------------------------------------------
563
+ export class ImageStringRenderer extends ElementStringRendererBase {
564
+ renderToString(element, type) {
565
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
566
+ let text = '';
567
+ if (element.type === 'html') {
568
+ text += '\n';
569
+ text += '<figure>\n';
570
+ text += ' <img';
571
+ if (element.name !== undefined) {
572
+ const { name } = element;
573
+ let imageSrc = '';
574
+ if (isUrl(name)) {
575
+ imageSrc = name;
576
+ }
577
+ else {
578
+ imageSrc = this.workspace.options.baseUrl;
579
+ imageSrc += this.workspace.options.imagesFolderPath;
580
+ imageSrc += '/';
581
+ imageSrc += name;
582
+ }
583
+ text += ` src="${imageSrc}"`;
584
+ }
585
+ if (element.width !== undefined) {
586
+ text += ` width="${element.width}"`;
587
+ }
588
+ if (element.height !== undefined) {
589
+ text += ` height="${element.height}"`;
590
+ }
591
+ if (element.alt !== undefined) {
592
+ text += ` alt="${element.alt}"`;
593
+ }
594
+ if (element.inline?.valueOf() ?? false) {
595
+ text += ' class="inline"';
596
+ }
597
+ text += '></img>';
598
+ if (element.caption !== undefined) {
599
+ const elementCaptionHtml = this.workspace.renderString(element.caption, 'html');
600
+ text += '\n';
601
+ text += ` <figcaption>${elementCaptionHtml}</figcaption>`;
602
+ }
603
+ else if (element.children !== undefined) {
604
+ const caption = this.workspace
605
+ .renderElementsArrayToString(element.children, 'html')
606
+ .trim();
607
+ if (caption.length > 0) {
608
+ text += '\n';
609
+ text += ` <figcaption>${caption}</figcaption>`;
610
+ }
611
+ }
612
+ text += '\n';
613
+ text += '</figure>';
614
+ }
615
+ else if (element.type === 'latex') {
616
+ // Skipped, no LaTeX images rendered.
617
+ }
618
+ else {
619
+ console.error('Image type', element.type, 'not rendered in', this.constructor.name);
620
+ }
621
+ return text;
622
+ }
623
+ }
624
+ // ----------------------------------------------------------------------------
625
+ export class HtmlOnlyStringRenderer extends ElementStringRendererBase {
626
+ renderToString(element, type) {
627
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
628
+ let text = '';
629
+ text += this.workspace.renderString(element.text, 'text');
630
+ return text;
631
+ }
632
+ }
633
+ // ----------------------------------------------------------------------------
634
+ export class HeadingLinesRenderer extends ElementLinesRendererBase {
635
+ renderToLines(element, type) {
636
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
637
+ const lines = [];
638
+ if (element.level === 1) {
639
+ if (this.workspace.options.verbose) {
640
+ console.warn('Level 1 Heading interferes with Docusaurus pages');
641
+ }
642
+ }
643
+ lines.push('');
644
+ let text = '';
645
+ text += '#'.repeat(element.level);
646
+ text += ' ';
647
+ text += this.workspace.renderElementsArrayToString(element.children, 'markdown');
648
+ lines.push(text);
649
+ return lines;
650
+ }
651
+ }
652
+ // ----------------------------------------------------------------------------
653
+ export class EmojiStringRenderer extends ElementStringRendererBase {
654
+ renderToString(element, type) {
655
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
656
+ let text = '';
657
+ // <span class="emoji">&#x1f604;</span>
658
+ text += `<span class="doxyEmoji">${element.unicode}</span>}`;
659
+ return text;
660
+ }
661
+ }
662
+ // ----------------------------------------------------------------------------
663
+ export class BlockquoteLinesRenderer extends ElementLinesRendererBase {
664
+ renderToLines(element, type) {
665
+ // console.log(util.inspect(element, { compact: false, depth: 999 }))
666
+ const lines = [];
667
+ lines.push('<blockquote class="doxyBlockQuote">');
668
+ lines.push(...this.workspace.renderElementsArrayToLines(element.children, 'html'));
669
+ lines.push('</blockquote>');
670
+ return lines;
671
+ }
672
+ }
673
+ // ----------------------------------------------------------------------------
674
+ //# sourceMappingURL=descriptiontype.js.map