@xpack/doxygen2docusaurus 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3 -1
- package/bin/doxygen2docusaurus.js +5 -5
- 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/conceptparts.d.ts +9 -0
- package/dist/docusaurus/renderers/conceptparts.d.ts.map +1 -0
- package/dist/docusaurus/renderers/conceptparts.js +21 -0
- package/dist/docusaurus/renderers/conceptparts.js.map +1 -0
- 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 +15 -186
- 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 +27 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +337 -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 +5 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +85 -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 +39 -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 +7 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +28 -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/concepts-dm.d.ts +23 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.js +94 -0
- package/dist/doxygen/data-model/compounds/concepts-dm.js.map +1 -0
- 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/requirements-dm.d.ts +2 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.d.ts.map +1 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.js +2 -0
- package/dist/doxygen/data-model/compounds/requirements-dm.js.map +1 -0
- 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 +8 -200
- 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 +5 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -42
- package/dist/index.js.map +1 -1
- package/package.json +49 -52
- 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/conceptparts.ts +119 -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 +812 -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 +749 -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 +1037 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +389 -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 +1230 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/concepts-dm.ts +362 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10114 -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 +881 -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/requirements-dm.ts +50 -0
- package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +564 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +378 -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 +1788 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +365 -0
- package/src/doxygen/data-model/xsds/index.xsd +74 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +267 -0
- package/src/tsconfig.json +12 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,235 @@
|
|
|
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 for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
import util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
type AbstractCodeLineType,
|
|
19
|
+
CodeLineDataModel,
|
|
20
|
+
type AbstractHighlightType,
|
|
21
|
+
HighlightDataModel,
|
|
22
|
+
type AbstractListingTypeBase,
|
|
23
|
+
MemberProgramListingDataModel,
|
|
24
|
+
} from '../../doxygen/data-model/compounds/descriptiontype-dm.js'
|
|
25
|
+
import { ElementLinesRendererBase } from './element-renderer-base.js'
|
|
26
|
+
import type { Workspace } from '../workspace.js'
|
|
27
|
+
|
|
28
|
+
// ----------------------------------------------------------------------------
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Renderer for program listing elements in documentation.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Handles the rendering of source code listings as parsed from Doxygen XML,
|
|
35
|
+
* converting them into formatted HTML output with syntax highlighting and
|
|
36
|
+
* line numbering. Supports both full program listings and member-specific
|
|
37
|
+
* code segments.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export class ListingTypeLinesRenderer extends ElementLinesRendererBase {
|
|
42
|
+
/**
|
|
43
|
+
* Renders a program listing element to formatted output lines.
|
|
44
|
+
*
|
|
45
|
+
* @remarks
|
|
46
|
+
* Converts Doxygen program listing elements into HTML with appropriate
|
|
47
|
+
* CSS classes, line numbers, and syntax highlighting. Handles anchor
|
|
48
|
+
* generation for navigation and cross-referencing.
|
|
49
|
+
*
|
|
50
|
+
* @param element - The listing element to render
|
|
51
|
+
* @param type - The rendering context type
|
|
52
|
+
* @returns Array of formatted output lines
|
|
53
|
+
*/
|
|
54
|
+
override renderToLines(
|
|
55
|
+
element: AbstractListingTypeBase,
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
|
+
type: string
|
|
58
|
+
): string[] {
|
|
59
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
60
|
+
|
|
61
|
+
if (element.codelines === undefined) {
|
|
62
|
+
return []
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
let showAnchor = true
|
|
66
|
+
if (element instanceof MemberProgramListingDataModel) {
|
|
67
|
+
showAnchor = false
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const lines: string[] = []
|
|
71
|
+
|
|
72
|
+
lines.push('')
|
|
73
|
+
lines.push('<div class="doxyProgramListing">')
|
|
74
|
+
|
|
75
|
+
lines.push('')
|
|
76
|
+
for (const codeline of element.codelines) {
|
|
77
|
+
// Explicit type, since it may come from a markdown environment,
|
|
78
|
+
// like in the Doxygen docblocks page.
|
|
79
|
+
lines.push(
|
|
80
|
+
renderCodeLinesToString(this.workspace, codeline, 'html', showAnchor)
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
lines.push('')
|
|
85
|
+
lines.push('</div>')
|
|
86
|
+
lines.push('')
|
|
87
|
+
|
|
88
|
+
return lines
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Renders individual code lines with syntax highlighting and line numbers.
|
|
94
|
+
*
|
|
95
|
+
* @remarks
|
|
96
|
+
* Converts a single code line element into HTML format with appropriate
|
|
97
|
+
* line numbering, anchors for navigation, and syntax highlighting support.
|
|
98
|
+
* Handles permalink generation for cross-references when available.
|
|
99
|
+
*
|
|
100
|
+
* @param workspace - The workspace instance for rendering utilities
|
|
101
|
+
* @param element - The code line element to render
|
|
102
|
+
* @param type - The rendering context type
|
|
103
|
+
* @param showAnchor - Whether to include anchor elements for navigation
|
|
104
|
+
* @returns Formatted HTML string for the code line
|
|
105
|
+
*/
|
|
106
|
+
function renderCodeLinesToString(
|
|
107
|
+
workspace: Workspace,
|
|
108
|
+
element: AbstractCodeLineType,
|
|
109
|
+
type: string,
|
|
110
|
+
showAnchor: boolean
|
|
111
|
+
): string {
|
|
112
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
113
|
+
assert(element instanceof CodeLineDataModel)
|
|
114
|
+
|
|
115
|
+
if (element.external !== undefined) {
|
|
116
|
+
console.error('external ignored in', element.constructor.name)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
let permalink: string | undefined = undefined
|
|
120
|
+
if (element.refid !== undefined && element.refkind !== undefined) {
|
|
121
|
+
permalink = workspace.getPermalink({
|
|
122
|
+
refid: element.refid,
|
|
123
|
+
kindref: element.refkind,
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
let text = ''
|
|
128
|
+
|
|
129
|
+
text += '<div class="doxyCodeLine">'
|
|
130
|
+
if (element.lineno !== undefined) {
|
|
131
|
+
text += '<span class="doxyLineNumber">'
|
|
132
|
+
const anchor = `l${element.lineno.toString().padStart(5, '0')}`
|
|
133
|
+
if (showAnchor) {
|
|
134
|
+
text += `<a id="${anchor}"></a>`
|
|
135
|
+
}
|
|
136
|
+
if (permalink !== undefined) {
|
|
137
|
+
text += `<a href="${permalink}">${element.lineno.toString()}</a>`
|
|
138
|
+
} else {
|
|
139
|
+
text += element.lineno.toString()
|
|
140
|
+
}
|
|
141
|
+
text += '</span>'
|
|
142
|
+
} else {
|
|
143
|
+
text += '<span class="doxyNoLineNumber"> </span>'
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const content = workspace.renderElementsArrayToString(
|
|
147
|
+
element.highlights,
|
|
148
|
+
type
|
|
149
|
+
)
|
|
150
|
+
if (content.length > 0) {
|
|
151
|
+
text += `<span class="doxyLineContent">${content}</span>`
|
|
152
|
+
}
|
|
153
|
+
text += '</div>'
|
|
154
|
+
|
|
155
|
+
return text
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Renderer for syntax highlighting elements in code listings.
|
|
160
|
+
*
|
|
161
|
+
* @remarks
|
|
162
|
+
* Handles the rendering of syntax-highlighted code segments by converting
|
|
163
|
+
* Doxygen highlight elements into HTML spans with appropriate CSS classes.
|
|
164
|
+
* Optimised for direct HTML generation to improve build performance.
|
|
165
|
+
*
|
|
166
|
+
* @public
|
|
167
|
+
*/
|
|
168
|
+
export class HighlightTypeLinesRenderer extends ElementLinesRendererBase {
|
|
169
|
+
/**
|
|
170
|
+
* Mapping of Doxygen highlight classes to CSS class names.
|
|
171
|
+
*
|
|
172
|
+
* @remarks
|
|
173
|
+
* Maps Doxygen's built-in highlight types to corresponding CSS classes
|
|
174
|
+
* for consistent syntax highlighting across different code elements.
|
|
175
|
+
*/
|
|
176
|
+
knownClasses: Record<string, string> = {
|
|
177
|
+
normal: 'doxyHighlight',
|
|
178
|
+
charliteral: 'doxyHighlightCharLiteral',
|
|
179
|
+
comment: 'doxyHighlightComment',
|
|
180
|
+
preprocessor: 'doxyHighlightPreprocessor',
|
|
181
|
+
keyword: 'doxyHighlightKeyword',
|
|
182
|
+
keywordtype: 'doxyHighlightKeywordType',
|
|
183
|
+
keywordflow: 'doxyHighlightKeywordFlow',
|
|
184
|
+
token: 'doxyHighlightToken',
|
|
185
|
+
stringliteral: 'doxyHighlightStringLiteral',
|
|
186
|
+
vhdlchar: 'doxyHighlightVhdlChar',
|
|
187
|
+
vhdlkeyword: 'doxyHighlightVhdlKeyword',
|
|
188
|
+
vhdllogic: 'doxyHighlightVhdlLogic',
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Renders a syntax highlight element to formatted output lines.
|
|
193
|
+
*
|
|
194
|
+
* @remarks
|
|
195
|
+
* Converts Doxygen highlight elements into HTML span elements with
|
|
196
|
+
* appropriate CSS classes for syntax highlighting. Handles unknown
|
|
197
|
+
* highlight types by falling back to a default class.
|
|
198
|
+
*
|
|
199
|
+
* @param element - The highlight element to render
|
|
200
|
+
* @param type - The rendering context type
|
|
201
|
+
* @returns Array containing the formatted HTML span
|
|
202
|
+
*/
|
|
203
|
+
override renderToLines(
|
|
204
|
+
element: AbstractHighlightType,
|
|
205
|
+
type: string
|
|
206
|
+
): string[] {
|
|
207
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
208
|
+
assert(element instanceof HighlightDataModel)
|
|
209
|
+
|
|
210
|
+
let spanClass = this.knownClasses[element.classs]
|
|
211
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
212
|
+
if (spanClass === undefined) {
|
|
213
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
214
|
+
console.error(
|
|
215
|
+
element.classs,
|
|
216
|
+
'not implemented yet in',
|
|
217
|
+
this.constructor.name
|
|
218
|
+
)
|
|
219
|
+
spanClass = 'doxyHighlight'
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
let text = ''
|
|
223
|
+
|
|
224
|
+
assert(element.children !== undefined)
|
|
225
|
+
if (element.children.length > 0) {
|
|
226
|
+
text += `<span class="${spanClass}">`
|
|
227
|
+
text += this.workspace.renderElementsArrayToString(element.children, type)
|
|
228
|
+
text += '</span>'
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return [text]
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,116 @@
|
|
|
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 for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
// import assert from 'node:assert'
|
|
15
|
+
import * as util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { ElementLinesRendererBase } from './element-renderer-base.js'
|
|
18
|
+
import type { AbstractParamType } from '../../doxygen/data-model/compounds/paramtype-dm.js'
|
|
19
|
+
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
// <xsd:complexType name="paramType">
|
|
23
|
+
// <xsd:sequence>
|
|
24
|
+
// <xsd:element name="attributes" type="xsd:string" minOccurs="0" />
|
|
25
|
+
// <xsd:element name="type" type="linkedTextType" minOccurs="0" />
|
|
26
|
+
// <xsd:element name="declname" type="xsd:string" minOccurs="0" />
|
|
27
|
+
// <xsd:element name="defname" type="xsd:string" minOccurs="0" />
|
|
28
|
+
// <xsd:element name="array" type="xsd:string" minOccurs="0" />
|
|
29
|
+
// <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
|
|
30
|
+
// <xsd:element name="typeconstraint" type="linkedTextType" minOccurs="0" />
|
|
31
|
+
// <xsd:element name="briefdescription" type="descriptionType"
|
|
32
|
+
// minOccurs="0" />
|
|
33
|
+
// </xsd:sequence>
|
|
34
|
+
// </xsd:complexType>
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Renderer for parameter type elements in function documentation.
|
|
38
|
+
*
|
|
39
|
+
* @remarks
|
|
40
|
+
* Handles the rendering of function and method parameters as parsed from
|
|
41
|
+
* Doxygen XML, converting them into formatted output that includes type
|
|
42
|
+
* information, parameter names, and default values when available.
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
export class ParamTypeLinesRenderer extends ElementLinesRendererBase {
|
|
47
|
+
/**
|
|
48
|
+
* Renders a parameter element to formatted output lines.
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* Converts Doxygen parameter elements into formatted text including
|
|
52
|
+
* type information, parameter names, array specifications, and default
|
|
53
|
+
* values. Handles both declaration and definition name variants.
|
|
54
|
+
*
|
|
55
|
+
* @param element - The parameter element to render
|
|
56
|
+
* @param type - The rendering context type
|
|
57
|
+
* @returns Array of formatted output lines
|
|
58
|
+
*/
|
|
59
|
+
override renderToLines(element: AbstractParamType, type: string): string[] {
|
|
60
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
61
|
+
|
|
62
|
+
if (element.attributes !== undefined) {
|
|
63
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
64
|
+
console.error(
|
|
65
|
+
element.elementName,
|
|
66
|
+
'property attributes not yet rendered in',
|
|
67
|
+
this.constructor.name
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
if (element.defname !== undefined) {
|
|
71
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
72
|
+
console.error(
|
|
73
|
+
element.elementName,
|
|
74
|
+
'property defname not yet rendered in',
|
|
75
|
+
this.constructor.name
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
if (element.typeconstraint !== undefined) {
|
|
79
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
80
|
+
console.error(
|
|
81
|
+
element.elementName,
|
|
82
|
+
'property typeconstraint not yet rendered in',
|
|
83
|
+
this.constructor.name
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
if (element.briefdescription !== undefined) {
|
|
87
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
88
|
+
console.error(
|
|
89
|
+
element.elementName,
|
|
90
|
+
'property briefdescription not yet rendered in',
|
|
91
|
+
this.constructor.name
|
|
92
|
+
)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
let text = ''
|
|
96
|
+
|
|
97
|
+
text += this.workspace.renderElementToString(element.type, type)
|
|
98
|
+
if (element.declname !== undefined) {
|
|
99
|
+
text += ` ${element.declname}`
|
|
100
|
+
if (element.array !== undefined) {
|
|
101
|
+
text += `=${element.array}`
|
|
102
|
+
}
|
|
103
|
+
if (element.defval !== undefined) {
|
|
104
|
+
const defvalStr = this.workspace.renderElementToString(
|
|
105
|
+
element.defval,
|
|
106
|
+
type
|
|
107
|
+
)
|
|
108
|
+
text += `=${defvalStr}`
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return [text]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,83 @@
|
|
|
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 for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
// import * as util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { ElementStringRendererBase } from './element-renderer-base.js'
|
|
18
|
+
import {
|
|
19
|
+
type AbstractReferenceType,
|
|
20
|
+
ReferenceDataModel,
|
|
21
|
+
ReferencedByDataModel,
|
|
22
|
+
} from '../../doxygen/data-model/compounds/referencetype-dm.js'
|
|
23
|
+
import { sanitizeAnonymousNamespace } from '../utils.js'
|
|
24
|
+
|
|
25
|
+
// ----------------------------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Renderer for reference elements in documentation cross-references.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* Handles the rendering of cross-reference elements that link to other
|
|
32
|
+
* documented members, creating appropriate hyperlinks with proper
|
|
33
|
+
* permalinks for navigation within the documentation.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export class ReferenceTypeStringRenderer extends ElementStringRendererBase {
|
|
38
|
+
/**
|
|
39
|
+
* Renders a reference element to a formatted string with hyperlinks.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* Converts Doxygen reference elements into HTML anchor tags with
|
|
43
|
+
* appropriate permalinks to the referenced members. Handles both
|
|
44
|
+
* forward references and reverse references whilst sanitising
|
|
45
|
+
* anonymous namespace names for display.
|
|
46
|
+
*
|
|
47
|
+
* @param element - The reference element to render
|
|
48
|
+
* @param type - The rendering context type
|
|
49
|
+
* @returns Formatted HTML string with hyperlink
|
|
50
|
+
*/
|
|
51
|
+
renderToString(element: AbstractReferenceType, type: string): string {
|
|
52
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
53
|
+
|
|
54
|
+
let text = ''
|
|
55
|
+
|
|
56
|
+
if (
|
|
57
|
+
element instanceof ReferencedByDataModel ||
|
|
58
|
+
element instanceof ReferenceDataModel
|
|
59
|
+
) {
|
|
60
|
+
const memberPermalink = this.workspace.getPermalink({
|
|
61
|
+
refid: element.refid,
|
|
62
|
+
kindref: 'member',
|
|
63
|
+
})
|
|
64
|
+
assert(memberPermalink !== undefined)
|
|
65
|
+
const name = this.workspace.renderString(
|
|
66
|
+
sanitizeAnonymousNamespace(element.text.trim()),
|
|
67
|
+
type
|
|
68
|
+
)
|
|
69
|
+
text += `<a href="${memberPermalink}">${name}</a>`
|
|
70
|
+
} else {
|
|
71
|
+
console.error(
|
|
72
|
+
element.constructor.name,
|
|
73
|
+
'not implemented by',
|
|
74
|
+
this.constructor.name
|
|
75
|
+
)
|
|
76
|
+
return ''
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return text
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,81 @@
|
|
|
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 for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
// import assert from 'node:assert'
|
|
15
|
+
// import * as util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { ElementStringRendererBase } from './element-renderer-base.js'
|
|
18
|
+
import type { AbstractRefTextType } from '../../doxygen/data-model/compounds/reftexttype-dm.js'
|
|
19
|
+
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Renderer for Doxygen reference text elements with linking functionality.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Converts reference text elements into HTML anchor tags when a valid
|
|
27
|
+
* permalink is available, otherwise renders as plain text. Provides
|
|
28
|
+
* cross-reference functionality for Doxygen elements.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export class RefTextTypeStringRenderer extends ElementStringRendererBase {
|
|
33
|
+
/**
|
|
34
|
+
* Renders a reference text element to a formatted string with linking.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* Generates an HTML anchor tag when a valid permalink exists for the
|
|
38
|
+
* referenced element, otherwise renders the text content directly.
|
|
39
|
+
* Logs warnings for unsupported attributes that are not yet implemented.
|
|
40
|
+
*
|
|
41
|
+
* @param element - The reference text element to render
|
|
42
|
+
* @param type - The rendering context type
|
|
43
|
+
* @returns The formatted HTML string with optional link
|
|
44
|
+
*/
|
|
45
|
+
renderToString(element: AbstractRefTextType, type: string): string {
|
|
46
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
47
|
+
|
|
48
|
+
if (element.external !== undefined) {
|
|
49
|
+
console.error(
|
|
50
|
+
element.elementName,
|
|
51
|
+
'attribute external not yet rendered in',
|
|
52
|
+
this.constructor.name
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
if (element.tooltip !== undefined) {
|
|
56
|
+
console.error(
|
|
57
|
+
element.elementName,
|
|
58
|
+
'attribute tooltip not yet rendered in',
|
|
59
|
+
this.constructor.name
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
let text = ''
|
|
64
|
+
|
|
65
|
+
const permalink = this.workspace.getPermalink({
|
|
66
|
+
refid: element.refid,
|
|
67
|
+
kindref: element.kindref,
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
const content = this.workspace.renderString(element.text.trim(), type)
|
|
71
|
+
if (permalink !== undefined && permalink.length > 0) {
|
|
72
|
+
text += `<a href="${permalink}">${content}</a>`
|
|
73
|
+
} else {
|
|
74
|
+
text += content
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return text
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// ----------------------------------------------------------------------------
|
|
@@ -0,0 +1,77 @@
|
|
|
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 for any
|
|
6
|
+
* 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 be
|
|
9
|
+
* obtained from https://opensource.org/licenses/mit.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
// import assert from 'node:assert'
|
|
15
|
+
// import * as util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { ElementLinesRendererBase } from './element-renderer-base.js'
|
|
18
|
+
import type { AbstractRefType } from '../../doxygen/data-model/compounds/reftype-dm.js'
|
|
19
|
+
|
|
20
|
+
// ----------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Renderer for reference type elements in documentation cross-references.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Handles the rendering of reference elements that link to other documented
|
|
27
|
+
* entities, creating appropriate hyperlinks with permalinks when targets
|
|
28
|
+
* are available. Used for cross-referencing between documentation elements.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export class RefTypeLinesRenderer extends ElementLinesRendererBase {
|
|
33
|
+
/**
|
|
34
|
+
* Renders a reference element to formatted output lines.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* Converts Doxygen reference elements into HTML anchor tags with
|
|
38
|
+
* appropriate permalinks to the referenced entities. Falls back to
|
|
39
|
+
* plain text when no permalink is available for the target.
|
|
40
|
+
*
|
|
41
|
+
* @param element - The reference element to render
|
|
42
|
+
* @param type - The rendering context type
|
|
43
|
+
* @returns Array of formatted output lines
|
|
44
|
+
*/
|
|
45
|
+
override renderToLines(element: AbstractRefType, type: string): string[] {
|
|
46
|
+
// console.log(util.inspect(element, { compact: false, depth: 999 }))
|
|
47
|
+
|
|
48
|
+
if (element.prot !== undefined) {
|
|
49
|
+
console.error(
|
|
50
|
+
element.elementName,
|
|
51
|
+
'attribute prot not yet rendered in',
|
|
52
|
+
this.constructor.name
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
if (element.inline !== undefined) {
|
|
56
|
+
console.error(
|
|
57
|
+
element.elementName,
|
|
58
|
+
'attribute inline not yet rendered in',
|
|
59
|
+
this.constructor.name
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const lines: string[] = []
|
|
64
|
+
|
|
65
|
+
const content = this.workspace.renderString(element.text.trim(), type)
|
|
66
|
+
const permalink = this.workspace.getPagePermalink(element.refid)
|
|
67
|
+
if (permalink !== undefined && permalink.length > 0) {
|
|
68
|
+
lines.push(`<a href="${permalink}">${content}</a>`)
|
|
69
|
+
} else {
|
|
70
|
+
lines.push(content)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return lines
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// ----------------------------------------------------------------------------
|