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