@xpack/doxygen2docusaurus 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +2 -1
- package/bin/doxygen2docusaurus.js +1 -1
- package/dist/cli/main.d.ts +0 -14
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +0 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/docusaurus/cli-options.d.ts +3 -292
- package/dist/docusaurus/cli-options.d.ts.map +1 -1
- package/dist/docusaurus/cli-options.js +6 -290
- package/dist/docusaurus/cli-options.js.map +1 -1
- package/dist/docusaurus/generator.d.ts +0 -172
- package/dist/docusaurus/generator.d.ts.map +1 -1
- package/dist/docusaurus/generator.js +20 -280
- package/dist/docusaurus/generator.js.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.js +11 -555
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.js +0 -156
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.js +0 -42
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.js +1 -113
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.js +0 -42
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
- package/dist/docusaurus/renderers/inctype.d.ts +0 -23
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/inctype.js +0 -41
- package/dist/docusaurus/renderers/inctype.js.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
- package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/listingtype.js +1 -88
- package/dist/docusaurus/renderers/listingtype.js.map +1 -1
- package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/paramtype.js +2 -51
- package/dist/docusaurus/renderers/paramtype.js.map +1 -1
- package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/referencetype.js +0 -38
- package/dist/docusaurus/renderers/referencetype.js.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.js +0 -38
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
- package/dist/docusaurus/renderers/reftype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftype.js +0 -38
- package/dist/docusaurus/renderers/reftype.js.map +1 -1
- package/dist/docusaurus/renderers/renderers.d.ts +0 -151
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
- package/dist/docusaurus/renderers/renderers.js +4 -184
- package/dist/docusaurus/renderers/renderers.js.map +1 -1
- package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/substringtype.js +0 -39
- package/dist/docusaurus/renderers/substringtype.js.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
- package/dist/docusaurus/types.d.ts +0 -110
- package/dist/docusaurus/types.d.ts.map +1 -1
- package/dist/docusaurus/types.js +0 -11
- package/dist/docusaurus/types.js.map +1 -1
- package/dist/docusaurus/utils.d.ts +0 -214
- package/dist/docusaurus/utils.d.ts.map +1 -1
- package/dist/docusaurus/utils.js +0 -296
- package/dist/docusaurus/utils.js.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.js +9 -225
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
- package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
- package/dist/docusaurus/view-model/collection-base.js +11 -101
- package/dist/docusaurus/view-model/collection-base.js.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
- package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +329 -0
- package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.js +0 -71
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.js +2 -223
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
- package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/members-vm.js +17 -702
- package/dist/docusaurus/view-model/members-vm.js.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
- package/dist/docusaurus/view-model/options.d.ts +0 -43
- package/dist/docusaurus/view-model/options.d.ts.map +1 -1
- package/dist/docusaurus/view-model/options.js +0 -57
- package/dist/docusaurus/view-model/options.js.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.js +0 -162
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
- package/dist/docusaurus/view-model/view-model.d.ts +0 -125
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
- package/dist/docusaurus/view-model/view-model.js +20 -182
- package/dist/docusaurus/view-model/view-model.js.map +1 -1
- package/dist/docusaurus/workspace.d.ts +1 -126
- package/dist/docusaurus/workspace.d.ts.map +1 -1
- package/dist/docusaurus/workspace.js +8 -221
- package/dist/docusaurus/workspace.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/data-model.d.ts +0 -149
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
- package/dist/doxygen/data-model/data-model.js +4 -197
- package/dist/doxygen/data-model/data-model.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/types.d.ts +0 -104
- package/dist/doxygen/data-model/types.d.ts.map +1 -1
- package/dist/doxygen/data-model/types.js +0 -52
- package/dist/doxygen/data-model/types.js.map +1 -1
- package/dist/index.d.ts +4 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -42
- package/dist/index.js.map +1 -1
- package/package.json +45 -51
- package/src/cli/main.ts +122 -0
- package/src/docusaurus/cli-options.ts +560 -0
- package/src/docusaurus/generator.ts +788 -0
- package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
- package/src/docusaurus/renderers/docinternalstype.ts +354 -0
- package/src/docusaurus/renderers/doclisttype.ts +134 -0
- package/src/docusaurus/renderers/doctabletype.ts +220 -0
- package/src/docusaurus/renderers/doctitletype.ts +77 -0
- package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
- package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
- package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
- package/src/docusaurus/renderers/inctype.ts +75 -0
- package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
- package/src/docusaurus/renderers/listingtype.ts +235 -0
- package/src/docusaurus/renderers/paramtype.ts +116 -0
- package/src/docusaurus/renderers/referencetype.ts +83 -0
- package/src/docusaurus/renderers/reftexttype.ts +81 -0
- package/src/docusaurus/renderers/reftype.ts +77 -0
- package/src/docusaurus/renderers/renderers.ts +756 -0
- package/src/docusaurus/renderers/substringtype.ts +53 -0
- package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
- package/src/docusaurus/types.ts +187 -0
- package/src/docusaurus/utils.ts +409 -0
- package/src/docusaurus/view-model/README.md +12 -0
- package/src/docusaurus/view-model/classes-vm.ts +1088 -0
- package/src/docusaurus/view-model/collection-base.ts +352 -0
- package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
- package/src/docusaurus/view-model/concepts-vm.ts +719 -0
- package/src/docusaurus/view-model/description-anchors.ts +107 -0
- package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
- package/src/docusaurus/view-model/groups-vm.ts +548 -0
- package/src/docusaurus/view-model/members-vm.ts +1943 -0
- package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +342 -0
- package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
- package/src/docusaurus/view-model/view-model.ts +513 -0
- package/src/docusaurus/workspace.ts +588 -0
- package/src/doxygen/data-model/README.md +13 -0
- package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
- package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
- package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
- package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
- package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
- package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
- package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
- package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
- package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
- package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
- package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
- package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
- package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
- package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
- package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
- package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
- package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +377 -0
- package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
- package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
- package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
- package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
- package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
- package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
- package/src/doxygen/data-model/types.ts +175 -0
- package/src/doxygen/data-model/xsds/README.md +6 -0
- package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
- package/src/doxygen/data-model/xsds/index.xsd +72 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +261 -0
- package/src/tsconfig.json +10 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
// import * as util from 'node:util'
|
|
15
|
+
import assert from 'node:assert'
|
|
16
|
+
// import * as fs from 'node:fs/promises'
|
|
17
|
+
// import path from 'node:path'
|
|
18
|
+
|
|
19
|
+
import { CompoundBase } from './compound-base-vm.js'
|
|
20
|
+
import type { CompoundDefDataModel } from '../../doxygen/data-model/compounds/compounddef-dm.js'
|
|
21
|
+
import { flattenPath, sanitizeHierarchicalPath } from '../utils.js'
|
|
22
|
+
import { CollectionBase } from './collection-base.js'
|
|
23
|
+
import type {
|
|
24
|
+
NavbarItem,
|
|
25
|
+
SidebarCategory,
|
|
26
|
+
SidebarCategoryItem,
|
|
27
|
+
SidebarDocItem,
|
|
28
|
+
SidebarItem,
|
|
29
|
+
FrontMatter,
|
|
30
|
+
} from '../types.js'
|
|
31
|
+
|
|
32
|
+
// Support for collapsible tables is experimental.
|
|
33
|
+
// const useCollapsibleTable = false
|
|
34
|
+
|
|
35
|
+
// ----------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Manages the collection of group documentation compounds.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* Handles the organisation and generation of group-based documentation,
|
|
42
|
+
* including nested group hierarchies, sidebar generation, and index
|
|
43
|
+
* file creation. Groups provide a way to organise related documentation
|
|
44
|
+
* elements beyond the natural file and namespace structure.
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
export class Groups extends CollectionBase {
|
|
49
|
+
// compoundsById: Map<string, Group>
|
|
50
|
+
/**
|
|
51
|
+
* Array of top-level groups without parent groups.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* Contains groups that are not nested within other groups,
|
|
55
|
+
* used for organising hierarchical displays and group trees.
|
|
56
|
+
*/
|
|
57
|
+
topLevelGroups: Group[] = []
|
|
58
|
+
|
|
59
|
+
// --------------------------------------------------------------------------
|
|
60
|
+
|
|
61
|
+
// constructor (workspace: Workspace) {
|
|
62
|
+
// super(workspace)
|
|
63
|
+
|
|
64
|
+
// // this.compoundsById = new Map()
|
|
65
|
+
// }
|
|
66
|
+
|
|
67
|
+
// --------------------------------------------------------------------------
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Adds a group compound to the collection.
|
|
71
|
+
*
|
|
72
|
+
* @remarks
|
|
73
|
+
* Creates a new Group instance from the compound definition and registers
|
|
74
|
+
* it in the collection for later processing and hierarchy creation.
|
|
75
|
+
*
|
|
76
|
+
* @param compoundDef - The compound definition for the group
|
|
77
|
+
* @returns The created Group instance
|
|
78
|
+
*/
|
|
79
|
+
override addChild(compoundDef: CompoundDefDataModel): CompoundBase {
|
|
80
|
+
const group = new Group(this, compoundDef)
|
|
81
|
+
this.collectionCompoundsById.set(group.id, group)
|
|
82
|
+
|
|
83
|
+
return group
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// --------------------------------------------------------------------------
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Creates hierarchical relationships between group compounds.
|
|
90
|
+
*
|
|
91
|
+
* @remarks
|
|
92
|
+
* Establishes parent-child relationships based on group nesting data,
|
|
93
|
+
* building the group hierarchy tree and identifying top-level groups
|
|
94
|
+
* that have no parent groups.
|
|
95
|
+
*/
|
|
96
|
+
override createCompoundsHierarchies(): void {
|
|
97
|
+
// Recreate groups hierarchies.
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
99
|
+
for (const [groupId, group] of this.collectionCompoundsById) {
|
|
100
|
+
for (const childGroupId of group.childrenIds) {
|
|
101
|
+
const childGroup = this.collectionCompoundsById.get(childGroupId)
|
|
102
|
+
assert(childGroup !== undefined)
|
|
103
|
+
// console.log('groupId', childGroupId, 'has parent', groupId)
|
|
104
|
+
childGroup.parent = group
|
|
105
|
+
group.children.push(childGroup)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Create the top level groups list.
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
111
|
+
for (const [groupId, group] of this.collectionCompoundsById) {
|
|
112
|
+
if (group.parent === undefined) {
|
|
113
|
+
// console.log('topGroupId:', groupId)
|
|
114
|
+
this.topLevelGroups.push(group)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// --------------------------------------------------------------------------
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Adds group sidebar items to the provided sidebar category.
|
|
123
|
+
*
|
|
124
|
+
* @remarks
|
|
125
|
+
* Creates hierarchical sidebar navigation for groups, either as a "Topics"
|
|
126
|
+
* category when multiple top-level groups exist, or as individual items
|
|
127
|
+
* when only one top-level group is present.
|
|
128
|
+
*
|
|
129
|
+
* @param sidebarCategory - The sidebar category to populate with group items
|
|
130
|
+
*
|
|
131
|
+
* @public
|
|
132
|
+
*/
|
|
133
|
+
override addSidebarItems(sidebarCategory: SidebarCategory): void {
|
|
134
|
+
const sidebarItems: SidebarItem[] = []
|
|
135
|
+
|
|
136
|
+
for (const topLevelGroup of this.topLevelGroups) {
|
|
137
|
+
const item = this.createSidebarItemRecursively(topLevelGroup)
|
|
138
|
+
if (item !== undefined) {
|
|
139
|
+
sidebarItems.push(item)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (this.topLevelGroups.length > 1) {
|
|
144
|
+
sidebarCategory.items.push({
|
|
145
|
+
type: 'category',
|
|
146
|
+
label: 'Topics',
|
|
147
|
+
link: {
|
|
148
|
+
type: 'doc',
|
|
149
|
+
id: `${this.workspace.sidebarBaseId}indices/groups/index`,
|
|
150
|
+
},
|
|
151
|
+
collapsed: true,
|
|
152
|
+
items: sidebarItems,
|
|
153
|
+
})
|
|
154
|
+
} else {
|
|
155
|
+
sidebarCategory.items.push(...sidebarItems)
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Creates sidebar items recursively for group hierarchies.
|
|
161
|
+
*
|
|
162
|
+
* @remarks
|
|
163
|
+
* Generates appropriate sidebar structure based on group nesting, creating
|
|
164
|
+
* document items for leaf groups and category items for groups with children.
|
|
165
|
+
* This method builds the hierarchical navigation structure.
|
|
166
|
+
*
|
|
167
|
+
* @param group - The group to create a sidebar item for
|
|
168
|
+
* @returns The created sidebar item, or undefined if the group is not
|
|
169
|
+
* displayable
|
|
170
|
+
*
|
|
171
|
+
* @private
|
|
172
|
+
*/
|
|
173
|
+
private createSidebarItemRecursively(group: Group): SidebarItem | undefined {
|
|
174
|
+
if (group.sidebarLabel === undefined || group.sidebarId === undefined) {
|
|
175
|
+
return undefined
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (group.children.length === 0) {
|
|
179
|
+
const docItem: SidebarDocItem = {
|
|
180
|
+
type: 'doc',
|
|
181
|
+
label: group.sidebarLabel,
|
|
182
|
+
id: `${this.workspace.sidebarBaseId}${group.sidebarId}`,
|
|
183
|
+
}
|
|
184
|
+
return docItem
|
|
185
|
+
} else {
|
|
186
|
+
const categoryItem: SidebarCategoryItem = {
|
|
187
|
+
type: 'category',
|
|
188
|
+
label: group.sidebarLabel,
|
|
189
|
+
link: {
|
|
190
|
+
type: 'doc',
|
|
191
|
+
id: `${this.workspace.sidebarBaseId}${group.sidebarId}`,
|
|
192
|
+
},
|
|
193
|
+
collapsed: true,
|
|
194
|
+
items: [],
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
for (const childGroup of group.children) {
|
|
198
|
+
const item = this.createSidebarItemRecursively(childGroup)
|
|
199
|
+
if (item !== undefined) {
|
|
200
|
+
categoryItem.items.push(item)
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
return categoryItem
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// --------------------------------------------------------------------------
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Creates navbar items for group navigation.
|
|
212
|
+
*
|
|
213
|
+
* @remarks
|
|
214
|
+
* Generates appropriate navbar entries based on the number of top-level
|
|
215
|
+
* groups. Creates a "Topics" navigation item when multiple groups exist,
|
|
216
|
+
* or a direct link to the single group when only one is present.
|
|
217
|
+
*
|
|
218
|
+
* @returns Array of navbar items for group navigation
|
|
219
|
+
*
|
|
220
|
+
* @public
|
|
221
|
+
*/
|
|
222
|
+
override createNavbarItems(): NavbarItem[] {
|
|
223
|
+
if (this.topLevelGroups.length > 1) {
|
|
224
|
+
const navbarItem: NavbarItem = {
|
|
225
|
+
label: 'Topics',
|
|
226
|
+
to: `${this.workspace.menuBaseUrl}groups/`,
|
|
227
|
+
}
|
|
228
|
+
return [navbarItem]
|
|
229
|
+
} else {
|
|
230
|
+
const topLevelGroup = this.topLevelGroups[0]
|
|
231
|
+
assert(topLevelGroup.sidebarLabel !== undefined)
|
|
232
|
+
assert(topLevelGroup.relativePermalink !== undefined)
|
|
233
|
+
const navbarItem: NavbarItem = {
|
|
234
|
+
label: topLevelGroup.sidebarLabel,
|
|
235
|
+
to: `${this.workspace.menuBaseUrl}${topLevelGroup.relativePermalink}/`,
|
|
236
|
+
}
|
|
237
|
+
return [navbarItem]
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// --------------------------------------------------------------------------
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Generates the main groups index Markdown file.
|
|
245
|
+
*
|
|
246
|
+
* @remarks
|
|
247
|
+
* Creates a comprehensive index file for topics when multiple top-level
|
|
248
|
+
* groups exist. The index includes a hierarchical tree table showing
|
|
249
|
+
* all groups with their descriptions and navigation links.
|
|
250
|
+
*
|
|
251
|
+
* @public
|
|
252
|
+
*/
|
|
253
|
+
override async generateIndexDotMdFile(): Promise<void> {
|
|
254
|
+
if (this.topLevelGroups.length <= 1) {
|
|
255
|
+
return
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
const filePath = this.workspace.outputFolderPath + 'indices/groups/index.md'
|
|
259
|
+
const permalink = 'groups'
|
|
260
|
+
|
|
261
|
+
const frontMatter: FrontMatter = {
|
|
262
|
+
title: 'Topics',
|
|
263
|
+
slug: `${this.workspace.slugBaseUrl}${permalink}`,
|
|
264
|
+
description: 'The topics defined in this project',
|
|
265
|
+
custom_edit_url: null,
|
|
266
|
+
keywords: ['doxygen', 'topics', 'reference'],
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const contentLines: string[] = []
|
|
270
|
+
|
|
271
|
+
for (const group of this.topLevelGroups) {
|
|
272
|
+
contentLines.push(...this.generateIndexMdFileRecursively(group, 1))
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
if (contentLines.length === 0) {
|
|
276
|
+
return
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
const lines: string[] = []
|
|
280
|
+
|
|
281
|
+
lines.push('The topics defined in this project are:')
|
|
282
|
+
|
|
283
|
+
lines.push(...this.workspace.renderTreeTableToHtmlLines({ contentLines }))
|
|
284
|
+
|
|
285
|
+
if (this.workspace.options.verbose) {
|
|
286
|
+
console.log(`Writing groups index file '${filePath}'...`)
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
await this.workspace.writeOutputMdFile({
|
|
290
|
+
filePath,
|
|
291
|
+
frontMatter,
|
|
292
|
+
bodyLines: lines,
|
|
293
|
+
})
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Generates a topics table for embedding in other documentation.
|
|
298
|
+
*
|
|
299
|
+
* @remarks
|
|
300
|
+
* Creates an HTML tree table representation of all top-level groups with
|
|
301
|
+
* their brief descriptions. This method is used to embed topic summaries
|
|
302
|
+
* in main documentation pages or overview sections.
|
|
303
|
+
*
|
|
304
|
+
* @returns Array of HTML lines representing the topics table
|
|
305
|
+
*
|
|
306
|
+
* @public
|
|
307
|
+
*/
|
|
308
|
+
generateTopicsTable(): string[] {
|
|
309
|
+
if (this.topLevelGroups.length === 0) {
|
|
310
|
+
return []
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
const contentLines: string[] = []
|
|
314
|
+
for (const group of this.topLevelGroups) {
|
|
315
|
+
contentLines.push(...this.generateIndexMdFileRecursively(group, 1))
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
if (contentLines.length === 0) {
|
|
319
|
+
return []
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const lines: string[] = []
|
|
323
|
+
|
|
324
|
+
const projectBrief =
|
|
325
|
+
this.workspace.doxygenOptions.getOptionCdataValue('PROJECT_BRIEF')
|
|
326
|
+
lines.push(`${projectBrief} topics with brief descriptions are:`)
|
|
327
|
+
|
|
328
|
+
lines.push(...this.workspace.renderTreeTableToHtmlLines({ contentLines }))
|
|
329
|
+
|
|
330
|
+
return lines
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// private generateTableRowRecursively (group: Group): collapsibleTableRow {
|
|
334
|
+
// const label = group.title ?? '???'
|
|
335
|
+
|
|
336
|
+
// const permalink = this.workspace.getPagePermalink(group.id)
|
|
337
|
+
// assert(permalink !== undefined && permalink.length > 1)
|
|
338
|
+
|
|
339
|
+
// const description: string =
|
|
340
|
+
// group.briefDescriptionString?.replace(/[.]$/, '') ?? ''
|
|
341
|
+
|
|
342
|
+
// const tableRow: collapsibleTableRow = {
|
|
343
|
+
// id: group.id,
|
|
344
|
+
// label,
|
|
345
|
+
// link: permalink,
|
|
346
|
+
// description
|
|
347
|
+
// }
|
|
348
|
+
|
|
349
|
+
// if (group.children.length > 0) {
|
|
350
|
+
// tableRow.children = []
|
|
351
|
+
// for (const childGroup of group.children) {
|
|
352
|
+
// tableRow.children.push(
|
|
353
|
+
// this.generateTableRowRecursively(childGroup as Group)
|
|
354
|
+
// )
|
|
355
|
+
// }
|
|
356
|
+
// }
|
|
357
|
+
|
|
358
|
+
// return tableRow
|
|
359
|
+
// }
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Recursively generates index content for group hierarchies.
|
|
363
|
+
*
|
|
364
|
+
* @remarks
|
|
365
|
+
* Creates hierarchical HTML tree table rows for groups and their children,
|
|
366
|
+
* including appropriate indentation and navigation links. This method
|
|
367
|
+
* builds the complete nested structure for group documentation indices.
|
|
368
|
+
*
|
|
369
|
+
* @param group - The group to generate index content for
|
|
370
|
+
* @param depth - The current nesting depth for indentation
|
|
371
|
+
* @returns Array of HTML lines representing the group hierarchy
|
|
372
|
+
*
|
|
373
|
+
* @private
|
|
374
|
+
*/
|
|
375
|
+
private generateIndexMdFileRecursively(
|
|
376
|
+
group: Group,
|
|
377
|
+
depth: number
|
|
378
|
+
): string[] {
|
|
379
|
+
const lines: string[] = []
|
|
380
|
+
|
|
381
|
+
const label = group.titleHtmlString ?? '???'
|
|
382
|
+
|
|
383
|
+
const permalink = this.workspace.getPagePermalink(group.id)
|
|
384
|
+
assert(permalink !== undefined && permalink.length > 0)
|
|
385
|
+
|
|
386
|
+
let description = ''
|
|
387
|
+
if (
|
|
388
|
+
group.briefDescriptionHtmlString !== undefined &&
|
|
389
|
+
group.briefDescriptionHtmlString.length > 0
|
|
390
|
+
) {
|
|
391
|
+
description = group.briefDescriptionHtmlString.replace(/[.]$/, '')
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
lines.push('')
|
|
395
|
+
lines.push(
|
|
396
|
+
...this.workspace.renderTreeTableRowToHtmlLines({
|
|
397
|
+
itemLabel: label,
|
|
398
|
+
itemLink: permalink,
|
|
399
|
+
depth,
|
|
400
|
+
description,
|
|
401
|
+
})
|
|
402
|
+
)
|
|
403
|
+
|
|
404
|
+
if (group.children.length > 0) {
|
|
405
|
+
for (const childGroup of group.children) {
|
|
406
|
+
lines.push(
|
|
407
|
+
...this.generateIndexMdFileRecursively(childGroup, depth + 1)
|
|
408
|
+
)
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
return lines
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// ----------------------------------------------------------------------------
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Represents a group compound for topic-based documentation organisation.
|
|
420
|
+
*
|
|
421
|
+
* @remarks
|
|
422
|
+
* Groups provide a logical organisation method for related documentation
|
|
423
|
+
* elements beyond the natural file and namespace structure. They support
|
|
424
|
+
* hierarchical nesting and are commonly used for thematic documentation
|
|
425
|
+
* organisation in complex projects.
|
|
426
|
+
*
|
|
427
|
+
* @public
|
|
428
|
+
*/
|
|
429
|
+
export class Group extends CompoundBase {
|
|
430
|
+
/**
|
|
431
|
+
* Initialises a new Group instance from compound definition data.
|
|
432
|
+
*
|
|
433
|
+
* @remarks
|
|
434
|
+
* Processes the group metadata including nested group relationships,
|
|
435
|
+
* title extraction, and permalink generation. Sets up the group for
|
|
436
|
+
* integration into the documentation hierarchy and navigation structure.
|
|
437
|
+
*
|
|
438
|
+
* @param collection - The parent Groups collection
|
|
439
|
+
* @param compoundDef - The compound definition containing group metadata
|
|
440
|
+
*
|
|
441
|
+
* @public
|
|
442
|
+
*/
|
|
443
|
+
constructor(collection: Groups, compoundDef: CompoundDefDataModel) {
|
|
444
|
+
super(collection, compoundDef)
|
|
445
|
+
|
|
446
|
+
// console.log('Group.constructor', util.inspect(compoundDef))
|
|
447
|
+
|
|
448
|
+
if (Array.isArray(compoundDef.innerGroups)) {
|
|
449
|
+
for (const ref of compoundDef.innerGroups) {
|
|
450
|
+
// console.log('component', compoundDef.id, 'has child', ref.refid)
|
|
451
|
+
this.childrenIds.push(ref.refid)
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// The group title must be short.
|
|
456
|
+
const { title } = compoundDef
|
|
457
|
+
this.sidebarLabel =
|
|
458
|
+
title !== undefined && title.length > 0
|
|
459
|
+
? title.trim().replace(/\.$/, '')
|
|
460
|
+
: '???'
|
|
461
|
+
|
|
462
|
+
const { sidebarLabel } = this
|
|
463
|
+
this.indexName = sidebarLabel
|
|
464
|
+
|
|
465
|
+
this.pageTitle = this.sidebarLabel
|
|
466
|
+
|
|
467
|
+
const sanitizedPath = sanitizeHierarchicalPath(this.compoundName)
|
|
468
|
+
this.relativePermalink = `groups/${sanitizedPath}`
|
|
469
|
+
|
|
470
|
+
this.sidebarId = `groups/${flattenPath(sanitizedPath)}`
|
|
471
|
+
|
|
472
|
+
this.createSections()
|
|
473
|
+
|
|
474
|
+
// console.log('0', this.id)
|
|
475
|
+
// console.log('1', this.compoundName, this.titleMdText)
|
|
476
|
+
// console.log('2', this.relativePermalink)
|
|
477
|
+
// console.log('3', this.docusaurusId)
|
|
478
|
+
// console.log('4', this.sidebarLabel)
|
|
479
|
+
// console.log('5', this.indexName)
|
|
480
|
+
// console.log()
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// --------------------------------------------------------------------------
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Renders the group documentation to Markdown lines.
|
|
487
|
+
*
|
|
488
|
+
* @remarks
|
|
489
|
+
* Generates comprehensive group documentation including brief description,
|
|
490
|
+
* inner compound indices, section indices, detailed description, and
|
|
491
|
+
* sections. The output follows Docusaurus conventions for topic pages
|
|
492
|
+
* with appropriate navigation and content organisation.
|
|
493
|
+
*
|
|
494
|
+
* @param frontMatter - The front matter configuration for the page
|
|
495
|
+
* @returns Array of Markdown lines representing the group documentation
|
|
496
|
+
*
|
|
497
|
+
* @public
|
|
498
|
+
*/
|
|
499
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
500
|
+
override renderToLines(frontMatter: FrontMatter): string[] {
|
|
501
|
+
const lines: string[] = []
|
|
502
|
+
|
|
503
|
+
const descriptionTodo = `@defgroup ${this.collection.workspace.renderString(
|
|
504
|
+
this.compoundName,
|
|
505
|
+
'html'
|
|
506
|
+
)}`
|
|
507
|
+
|
|
508
|
+
// const hasIndices =
|
|
509
|
+
// this.hasSect1InDescription &&
|
|
510
|
+
// (this.hasInnerIndices() || this.hasSections())
|
|
511
|
+
let morePermalink = undefined
|
|
512
|
+
if (this.hasInnerIndices() || this.hasSections()) {
|
|
513
|
+
morePermalink = '#details'
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
lines.push(
|
|
517
|
+
this.renderBriefDescriptionToHtmlString({
|
|
518
|
+
briefDescriptionHtmlString: this.briefDescriptionHtmlString,
|
|
519
|
+
todo: descriptionTodo,
|
|
520
|
+
morePermalink,
|
|
521
|
+
})
|
|
522
|
+
)
|
|
523
|
+
|
|
524
|
+
lines.push(
|
|
525
|
+
...this.renderInnerIndicesToLines({
|
|
526
|
+
suffixes: ['Groups', 'Classes'],
|
|
527
|
+
})
|
|
528
|
+
)
|
|
529
|
+
|
|
530
|
+
lines.push(...this.renderSectionIndicesToLines())
|
|
531
|
+
|
|
532
|
+
lines.push(
|
|
533
|
+
...this.renderDetailedDescriptionToHtmlLines({
|
|
534
|
+
briefDescriptionHtmlString: this.briefDescriptionHtmlString,
|
|
535
|
+
detailedDescriptionHtmlLines: this.detailedDescriptionHtmlLines,
|
|
536
|
+
todo: descriptionTodo,
|
|
537
|
+
showHeader: !this.hasSect1InDescription,
|
|
538
|
+
showBrief: this.hasInnerIndices() || this.hasSections(),
|
|
539
|
+
})
|
|
540
|
+
)
|
|
541
|
+
|
|
542
|
+
lines.push(...this.renderSectionsToLines())
|
|
543
|
+
|
|
544
|
+
return lines
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// ----------------------------------------------------------------------------
|