@diplodoc/cli 5.46.1 → 5.47.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/build/index.js +3 -3
- package/build/index.mjs +3 -3
- package/package.json +24 -8
- package/tests/.eslintrc.js +9 -0
- package/tests/e2e/__snapshots__/alternates.test.ts.snap +1199 -0
- package/tests/e2e/__snapshots__/assets.spec.ts.snap +0 -0
- package/tests/e2e/__snapshots__/build-content-map.spec.ts.snap +329 -0
- package/tests/e2e/__snapshots__/bundles.spec.ts.snap +172 -0
- package/tests/e2e/__snapshots__/cleanup-empty-dirs.spec.ts.snap +65 -0
- package/tests/e2e/__snapshots__/crawler-manifest.spec.ts.snap +28 -0
- package/tests/e2e/__snapshots__/files.spec.ts.snap +164 -0
- package/tests/e2e/__snapshots__/files.test.ts.snap +146 -0
- package/tests/e2e/__snapshots__/generate-map.spec.ts.snap +408 -0
- package/tests/e2e/__snapshots__/include-toc.test.ts.snap +797 -0
- package/tests/e2e/__snapshots__/include-with-meta.test.ts.snap +67 -0
- package/tests/e2e/__snapshots__/includes-conditions.test.ts.snap +78 -0
- package/tests/e2e/__snapshots__/includes.test.ts.snap +780 -0
- package/tests/e2e/__snapshots__/init.test.ts.snap +283 -0
- package/tests/e2e/__snapshots__/llms.spec.ts.snap +257 -0
- package/tests/e2e/__snapshots__/load-custom-resources.spec.ts.snap +362 -0
- package/tests/e2e/__snapshots__/markdown-options.spec.ts.snap +209 -0
- package/tests/e2e/__snapshots__/merge-includes.spec.ts.snap +1058 -0
- package/tests/e2e/__snapshots__/metadata.spec.ts.snap +200 -0
- package/tests/e2e/__snapshots__/neuro-expert.test.ts.snap +625 -0
- package/tests/e2e/__snapshots__/pdf-page.spec.ts.snap +341 -0
- package/tests/e2e/__snapshots__/plugin-corner-cases.spec.ts.snap +0 -0
- package/tests/e2e/__snapshots__/preprocess.test.ts.snap +1558 -0
- package/tests/e2e/__snapshots__/regression.test.ts.snap +2033 -0
- package/tests/e2e/__snapshots__/restricted-access.test.ts.snap +244 -0
- package/tests/e2e/__snapshots__/rtl.spec.ts.snap +234 -0
- package/tests/e2e/__snapshots__/search.test.ts.snap +56 -0
- package/tests/e2e/__snapshots__/single-page.spec.ts.snap +163 -0
- package/tests/e2e/__snapshots__/skip-html-extension.spec.ts.snap +519 -0
- package/tests/e2e/__snapshots__/toc-label.test.ts.snap +127 -0
- package/tests/e2e/__snapshots__/translation.spec.ts.snap +2386 -0
- package/tests/e2e/__snapshots__/vars-conditions.spec.ts.snap +131 -0
- package/tests/e2e/alternates.test.ts +49 -0
- package/tests/e2e/assets.spec.ts +31 -0
- package/tests/e2e/autotitles.spec.ts +37 -0
- package/tests/e2e/build-content-map.spec.ts +220 -0
- package/tests/e2e/bundles.spec.ts +16 -0
- package/tests/e2e/cleanup-empty-dirs.spec.ts +59 -0
- package/tests/e2e/crawler-manifest.spec.ts +129 -0
- package/tests/e2e/disable-csp.spec.ts +55 -0
- package/tests/e2e/empty-presets.spec.ts +32 -0
- package/tests/e2e/errors.spec.ts +158 -0
- package/tests/e2e/files.spec.ts +21 -0
- package/tests/e2e/generate-map.spec.ts +47 -0
- package/tests/e2e/include-toc.test.ts +73 -0
- package/tests/e2e/include-with-meta.test.ts +20 -0
- package/tests/e2e/includes-conditions.test.ts +23 -0
- package/tests/e2e/includes.test.ts +52 -0
- package/tests/e2e/init.test.ts +105 -0
- package/tests/e2e/llms.spec.ts +24 -0
- package/tests/e2e/load-custom-resources.spec.ts +23 -0
- package/tests/e2e/markdown-options.spec.ts +17 -0
- package/tests/e2e/merge-includes.spec.ts +196 -0
- package/tests/e2e/metadata.spec.ts +79 -0
- package/tests/e2e/nested-include-links.spec.ts +26 -0
- package/tests/e2e/neuro-expert.test.ts +16 -0
- package/tests/e2e/openapi-companion.spec.ts +213 -0
- package/tests/e2e/openapi-include-size.spec.ts +55 -0
- package/tests/e2e/pdf-page.spec.ts +127 -0
- package/tests/e2e/plugin-corner-cases.spec.ts +14 -0
- package/tests/e2e/preprocess.test.ts +40 -0
- package/tests/e2e/redirects-validation.spec.ts +62 -0
- package/tests/e2e/regression.test.ts +39 -0
- package/tests/e2e/restricted-access.test.ts +19 -0
- package/tests/e2e/rtl.spec.ts +17 -0
- package/tests/e2e/search.test.ts +16 -0
- package/tests/e2e/single-page.spec.ts +23 -0
- package/tests/e2e/skip-html-extension.spec.ts +17 -0
- package/tests/e2e/themer.test.ts +307 -0
- package/tests/e2e/toc-label.test.ts +23 -0
- package/tests/e2e/translation.spec.ts +221 -0
- package/tests/e2e/vars-conditions.spec.ts +16 -0
- package/tests/e2e/vars-ignore.test.ts +168 -0
- package/tests/fixtures/cli.ts +103 -0
- package/tests/fixtures/file.ts +148 -0
- package/tests/fixtures/globals.d.ts +4 -0
- package/tests/fixtures/index.ts +4 -0
- package/tests/fixtures/runner.ts +49 -0
- package/tests/fixtures/test.ts +210 -0
- package/tests/mocks/alternates/input/.yfm +1 -0
- package/tests/mocks/alternates/input/az/about.md +3 -0
- package/tests/mocks/alternates/input/az/deep/test.md +3 -0
- package/tests/mocks/alternates/input/az/index.yaml +3 -0
- package/tests/mocks/alternates/input/az/toc.yaml +6 -0
- package/tests/mocks/alternates/input/en/about.md +3 -0
- package/tests/mocks/alternates/input/en/deep/test.md +3 -0
- package/tests/mocks/alternates/input/en/index.yaml +3 -0
- package/tests/mocks/alternates/input/en/toc.yaml +6 -0
- package/tests/mocks/alternates/input/ru/about.md +8 -0
- package/tests/mocks/alternates/input/ru/deep/test.md +3 -0
- package/tests/mocks/alternates/input/ru/index.yaml +3 -0
- package/tests/mocks/alternates/input/ru/toc.yaml +6 -0
- package/tests/mocks/assets/input/.yfm +1 -0
- package/tests/mocks/assets/input/_images/camera.svg +1 -0
- package/tests/mocks/assets/input/_images/icons/bulb.svg +1 -0
- package/tests/mocks/assets/input/_images/mountain.jpg +0 -0
- package/tests/mocks/assets/input/_images/versions.png +0 -0
- package/tests/mocks/assets/input/index.md +18 -0
- package/tests/mocks/assets/input/page.yaml +7 -0
- package/tests/mocks/assets/input/toc.yaml +7 -0
- package/tests/mocks/autotitles/input/docs/index.md +3 -0
- package/tests/mocks/autotitles/input/docs/target.md +3 -0
- package/tests/mocks/autotitles/input/toc.yaml +5 -0
- package/tests/mocks/build-content-map/autotitle-chain/input/.yfm +0 -0
- package/tests/mocks/build-content-map/autotitle-chain/input/a.md +3 -0
- package/tests/mocks/build-content-map/autotitle-chain/input/b.md +3 -0
- package/tests/mocks/build-content-map/autotitle-chain/input/c.md +3 -0
- package/tests/mocks/build-content-map/autotitle-chain/input/toc.yaml +9 -0
- package/tests/mocks/build-content-map/autotitle-target-with-include/input/.yfm +0 -0
- package/tests/mocks/build-content-map/autotitle-target-with-include/input/_includes/snippet.md +3 -0
- package/tests/mocks/build-content-map/autotitle-target-with-include/input/a.md +3 -0
- package/tests/mocks/build-content-map/autotitle-target-with-include/input/b.md +3 -0
- package/tests/mocks/build-content-map/autotitle-target-with-include/input/toc.yaml +7 -0
- package/tests/mocks/build-content-map/diamond-includes/input/.yfm +0 -0
- package/tests/mocks/build-content-map/diamond-includes/input/_includes/branch-a.md +5 -0
- package/tests/mocks/build-content-map/diamond-includes/input/_includes/branch-b.md +5 -0
- package/tests/mocks/build-content-map/diamond-includes/input/_includes/shared.md +3 -0
- package/tests/mocks/build-content-map/diamond-includes/input/index.md +7 -0
- package/tests/mocks/build-content-map/diamond-includes/input/toc.yaml +5 -0
- package/tests/mocks/build-content-map/nested-includes/input/.yfm +0 -0
- package/tests/mocks/build-content-map/nested-includes/input/_includes/level1.md +5 -0
- package/tests/mocks/build-content-map/nested-includes/input/_includes/level2.md +3 -0
- package/tests/mocks/build-content-map/nested-includes/input/index.md +5 -0
- package/tests/mocks/build-content-map/nested-includes/input/toc.yaml +5 -0
- package/tests/mocks/build-content-map/with-autotitles/input/.yfm +0 -0
- package/tests/mocks/build-content-map/with-autotitles/input/index.md +3 -0
- package/tests/mocks/build-content-map/with-autotitles/input/other.md +3 -0
- package/tests/mocks/build-content-map/with-autotitles/input/toc.yaml +7 -0
- package/tests/mocks/build-content-map/with-includes/input/.yfm +0 -0
- package/tests/mocks/build-content-map/with-includes/input/_includes/snippet.md +1 -0
- package/tests/mocks/build-content-map/with-includes/input/index.md +5 -0
- package/tests/mocks/build-content-map/with-includes/input/logo.svg +1 -0
- package/tests/mocks/build-content-map/with-includes/input/toc.yaml +5 -0
- package/tests/mocks/bundles/input/.yfm +13 -0
- package/tests/mocks/bundles/input/index.md +12 -0
- package/tests/mocks/bundles/input/page1.md +3 -0
- package/tests/mocks/bundles/input/page2.md +5 -0
- package/tests/mocks/bundles/input/toc.yaml +9 -0
- package/tests/mocks/cleanup-empty-dirs/input/.yfm +2 -0
- package/tests/mocks/cleanup-empty-dirs/input/active/page.md +5 -0
- package/tests/mocks/cleanup-empty-dirs/input/active/presets.yaml +2 -0
- package/tests/mocks/cleanup-empty-dirs/input/active/toc.yaml +4 -0
- package/tests/mocks/cleanup-empty-dirs/input/empty-section/page.md +5 -0
- package/tests/mocks/cleanup-empty-dirs/input/empty-section/presets.yaml +2 -0
- package/tests/mocks/cleanup-empty-dirs/input/empty-section/toc.yaml +5 -0
- package/tests/mocks/cleanup-empty-dirs/input/index.md +5 -0
- package/tests/mocks/cleanup-empty-dirs/input/presets.yaml +2 -0
- package/tests/mocks/cleanup-empty-dirs/input/toc.yaml +5 -0
- package/tests/mocks/crawler-manifest/config/input/.yfm +1 -0
- package/tests/mocks/crawler-manifest/config/input/index.md +3 -0
- package/tests/mocks/crawler-manifest/config/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/exclude/input/.yfm +9 -0
- package/tests/mocks/crawler-manifest/exclude/input/index.md +5 -0
- package/tests/mocks/crawler-manifest/exclude/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/no-links/input/index.md +5 -0
- package/tests/mocks/crawler-manifest/no-links/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/notifications-docs-viewer/input/.yfm +8 -0
- package/tests/mocks/crawler-manifest/notifications-docs-viewer/input/index.md +3 -0
- package/tests/mocks/crawler-manifest/notifications-docs-viewer/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/notifications-no-receivers/input/.yfm +5 -0
- package/tests/mocks/crawler-manifest/notifications-no-receivers/input/index.md +3 -0
- package/tests/mocks/crawler-manifest/notifications-no-receivers/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/notifications-root/input/.yfm +11 -0
- package/tests/mocks/crawler-manifest/notifications-root/input/index.md +3 -0
- package/tests/mocks/crawler-manifest/notifications-root/input/toc.yaml +4 -0
- package/tests/mocks/crawler-manifest/with-links/input/redirects.yaml +5 -0
- package/tests/mocks/crawler-manifest/with-links/input/ru/_includes/snippet.md +1 -0
- package/tests/mocks/crawler-manifest/with-links/input/ru/index.md +35 -0
- package/tests/mocks/crawler-manifest/with-links/input/ru/leading.yaml +5 -0
- package/tests/mocks/crawler-manifest/with-links/input/ru/no-links.md +3 -0
- package/tests/mocks/crawler-manifest/with-links/input/ru/references.md +5 -0
- package/tests/mocks/crawler-manifest/with-links/input/toc.yaml +12 -0
- package/tests/mocks/disable-csp/input/.yfm +8 -0
- package/tests/mocks/disable-csp/input/en/index.md +3 -0
- package/tests/mocks/disable-csp/input/en/page.md +3 -0
- package/tests/mocks/disable-csp/input/en/toc.yaml +5 -0
- package/tests/mocks/docs-viewer-interface/input/.yfm +6 -0
- package/tests/mocks/docs-viewer-interface/input/index.md +3 -0
- package/tests/mocks/docs-viewer-interface/input/toc.yaml +5 -0
- package/tests/mocks/empty-presets/input/.yfm +1 -0
- package/tests/mocks/empty-presets/input/index.md +3 -0
- package/tests/mocks/empty-presets/input/presets.yaml +3 -0
- package/tests/mocks/empty-presets/input/subfolder/presets.yaml +3 -0
- package/tests/mocks/empty-presets/input/subfolder/subpage.md +3 -0
- package/tests/mocks/empty-presets/input/subfolder/toc.yaml +4 -0
- package/tests/mocks/empty-presets/input/toc.yaml +4 -0
- package/tests/mocks/errors/extract-filtered-link/input/filtered.md +1 -0
- package/tests/mocks/errors/extract-filtered-link/input/filtered2.md +0 -0
- package/tests/mocks/errors/extract-filtered-link/input/index.md +7 -0
- package/tests/mocks/errors/extract-filtered-link/input/toc.yaml +1 -0
- package/tests/mocks/errors/invalid-frontmatter/input/index.md +9 -0
- package/tests/mocks/errors/invalid-frontmatter/input/toc.yaml +1 -0
- package/tests/mocks/errors/invalid-toc-entry-href/input/.yfm +1 -0
- package/tests/mocks/errors/invalid-toc-entry-href/input/ru/toc.yaml +3 -0
- package/tests/mocks/errors/invalid-toc-root-array/input/.yfm +1 -0
- package/tests/mocks/errors/invalid-toc-root-array/input/ru/toc.yaml +2 -0
- package/tests/mocks/errors/max-asset-size/input/_images/large-image.png +0 -0
- package/tests/mocks/errors/max-asset-size/input/index.md +5 -0
- package/tests/mocks/errors/max-asset-size/input/toc.yaml +1 -0
- package/tests/mocks/errors/object-validation/input/index.md +3 -0
- package/tests/mocks/errors/object-validation/input/toc.yaml +14 -0
- package/tests/mocks/errors/unreachable-link/input/exists.md +1 -0
- package/tests/mocks/errors/unreachable-link/input/index.md +2 -0
- package/tests/mocks/errors/unreachable-link/input/toc.yaml +1 -0
- package/tests/mocks/errors/unreachable-link-in-include/input/_includes/chapter.md +1 -0
- package/tests/mocks/errors/unreachable-link-in-include/input/index.md +5 -0
- package/tests/mocks/errors/unreachable-link-in-include/input/toc.yaml +1 -0
- package/tests/mocks/errors/unreachable-link-in-nested-include/input/_includes/chapter.md +3 -0
- package/tests/mocks/errors/unreachable-link-in-nested-include/input/_includes/details.md +1 -0
- package/tests/mocks/errors/unreachable-link-in-nested-include/input/index.md +3 -0
- package/tests/mocks/errors/unreachable-link-in-nested-include/input/toc.yaml +1 -0
- package/tests/mocks/errors/valid-link-in-include/input/_includes/content.md +1 -0
- package/tests/mocks/errors/valid-link-in-include/input/index.md +3 -0
- package/tests/mocks/errors/valid-link-in-include/input/page.md +3 -0
- package/tests/mocks/errors/valid-link-in-include/input/toc.yaml +4 -0
- package/tests/mocks/fileContent/metadata/authorAliasInMetadata.md +7 -0
- package/tests/mocks/fileContent/metadata/fullAuthorInMetadata.md +10 -0
- package/tests/mocks/fileContent/metadata/includesContent/firstIncludeFile.md +7 -0
- package/tests/mocks/fileContent/metadata/includesContent/secondIncludeFile.md +5 -0
- package/tests/mocks/fileContent/metadata/includesContent/withIncludes.md +7 -0
- package/tests/mocks/fileContent/metadata/keywordsInMetadata.md +9 -0
- package/tests/mocks/fileContent/metadata/simpleMetadata.md +6 -0
- package/tests/mocks/fileContent/metadata/substitutionsInMetadataPropertyKeys.md +7 -0
- package/tests/mocks/fileContent/metadata/substitutionsInMetadataPropertyValues.md +11 -0
- package/tests/mocks/fileContent/metadata/substitutionsWithEmptyString.md +7 -0
- package/tests/mocks/fileContent/metadata/variableInMetadata.md +7 -0
- package/tests/mocks/fileContent/metadata/withAdditionalSeparatorsInContent.md +9 -0
- package/tests/mocks/fileContent/metadata/withoutMetadata.md +2 -0
- package/tests/mocks/fileContent/metadata/withoutMetadataWithAdditionalSeparatorsInContent.md +6 -0
- package/tests/mocks/files/input/_assets/test.csv +0 -0
- package/tests/mocks/files/input/_assets/test.docx +0 -0
- package/tests/mocks/files/input/_assets/test.pdf +0 -0
- package/tests/mocks/files/input/_assets/test.pptx +0 -0
- package/tests/mocks/files/input/_assets/test.txt +0 -0
- package/tests/mocks/files/input/_assets/test.xlsx +0 -0
- package/tests/mocks/files/input/_assets/test.yaml +50 -0
- package/tests/mocks/files/input/index.md +17 -0
- package/tests/mocks/files/input/pc-index.yaml +70 -0
- package/tests/mocks/files/input/toc.yaml +6 -0
- package/tests/mocks/generate-map/test1/input/.yfm +0 -0
- package/tests/mocks/generate-map/test1/input/ru/_includes/file.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/_includes/plugins.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/folder1/a1.md +1 -0
- package/tests/mocks/generate-map/test1/input/ru/folder1/folder2/a1.md +1 -0
- package/tests/mocks/generate-map/test1/input/ru/folder1/folder2/toc.yaml +5 -0
- package/tests/mocks/generate-map/test1/input/ru/folder1/toc.yaml +7 -0
- package/tests/mocks/generate-map/test1/input/ru/index.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/plugins/import.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/plugins/index.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/project/config.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/project/index.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/settings.md +0 -0
- package/tests/mocks/generate-map/test1/input/ru/toc.yaml +22 -0
- package/tests/mocks/generate-map/test2/input/en/_includes/file.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/_includes/plugins.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/plugins/import.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/plugins/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/project/config.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/project/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/settings.md +0 -0
- package/tests/mocks/generate-map/test2/input/en/toc.yaml +18 -0
- package/tests/mocks/generate-map/test2/input/ru/_includes/file.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/_includes/plugins.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/plugins/import.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/plugins/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/project/config.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/project/index.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/settings.md +0 -0
- package/tests/mocks/generate-map/test2/input/ru/toc.yaml +18 -0
- package/tests/mocks/generate-map/test3/input/.yfm +0 -0
- package/tests/mocks/generate-map/test3/input/ru/_includes/file.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/_includes/plugins.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/folder1/a1.md +1 -0
- package/tests/mocks/generate-map/test3/input/ru/folder1/folder2/a1.md +1 -0
- package/tests/mocks/generate-map/test3/input/ru/folder1/folder2/toc.yaml +5 -0
- package/tests/mocks/generate-map/test3/input/ru/folder1/toc.yaml +7 -0
- package/tests/mocks/generate-map/test3/input/ru/index.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/plugins/import.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/plugins/index.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/project/config.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/project/index.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/settings.md +0 -0
- package/tests/mocks/generate-map/test3/input/ru/toc.yaml +22 -0
- package/tests/mocks/include-skip/test1/input/includes/missing.md +1 -0
- package/tests/mocks/include-skip/test1/input/index.md +3 -0
- package/tests/mocks/include-skip/test1/input/toc.yaml +3 -0
- package/tests/mocks/include-skip/test2/input/includes/missing.md +1 -0
- package/tests/mocks/include-skip/test2/input/includes/valid.md +4 -0
- package/tests/mocks/include-skip/test2/input/index.md +4 -0
- package/tests/mocks/include-skip/test2/input/toc.yaml +4 -0
- package/tests/mocks/include-toc/test1/input/a1.md +1 -0
- package/tests/mocks/include-toc/test1/input/folder1/a1.md +1 -0
- package/tests/mocks/include-toc/test1/input/folder1/folder2/a1.md +1 -0
- package/tests/mocks/include-toc/test1/input/folder1/folder2/toc.yaml +5 -0
- package/tests/mocks/include-toc/test1/input/folder1/toc.yaml +7 -0
- package/tests/mocks/include-toc/test1/input/toc.yaml +9 -0
- package/tests/mocks/include-toc/test10/input/test/index.md +4 -0
- package/tests/mocks/include-toc/test10/input/test/sub/index.md +1 -0
- package/tests/mocks/include-toc/test10/input/test/sub/sub/sub-3.md +1 -0
- package/tests/mocks/include-toc/test10/input/test/sub/sub-1.md +5 -0
- package/tests/mocks/include-toc/test10/input/test/sub/sub-2.md +1 -0
- package/tests/mocks/include-toc/test10/input/test/test.md +1 -0
- package/tests/mocks/include-toc/test10/input/toc.yaml +9 -0
- package/tests/mocks/include-toc/test2/input/.yfm +1 -0
- package/tests/mocks/include-toc/test2/input/file1.md +1 -0
- package/tests/mocks/include-toc/test2/input/fileX.md +1 -0
- package/tests/mocks/include-toc/test2/input/folder/fileA.md +11 -0
- package/tests/mocks/include-toc/test2/input/folder/fileB.md +9 -0
- package/tests/mocks/include-toc/test2/input/folder/folder/fileC.md +1 -0
- package/tests/mocks/include-toc/test2/input/folder/folder/toc.yaml +3 -0
- package/tests/mocks/include-toc/test2/input/folder/toc.yaml +6 -0
- package/tests/mocks/include-toc/test2/input/presets.yaml +2 -0
- package/tests/mocks/include-toc/test2/input/toc.yaml +6 -0
- package/tests/mocks/include-toc/test3/input/product1/core/_includes/inc.md +1 -0
- package/tests/mocks/include-toc/test3/input/product1/core/article1.md +3 -0
- package/tests/mocks/include-toc/test3/input/product1/core/toc_m.yaml +2 -0
- package/tests/mocks/include-toc/test3/input/product1/product/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test3/input/product1/toc.yaml +3 -0
- package/tests/mocks/include-toc/test3/input/product2/core/_includes/inc.md +1 -0
- package/tests/mocks/include-toc/test3/input/product2/core/article1.md +3 -0
- package/tests/mocks/include-toc/test3/input/product2/core/toc_m.yaml +2 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay1/product/article1.md +3 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay1/product/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay1/toc.yaml +2 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay2/product/article1.md +3 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay2/product/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay2/toc.yaml +2 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay3/product/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test3/input/product2/overlay3/toc.yaml +2 -0
- package/tests/mocks/include-toc/test3/input/product2/p2.md +4 -0
- package/tests/mocks/include-toc/test3/input/product2/toc.yaml +10 -0
- package/tests/mocks/include-toc/test4/input/a1.md +1 -0
- package/tests/mocks/include-toc/test4/input/index.yaml +20 -0
- package/tests/mocks/include-toc/test4/input/toc.yaml +9 -0
- package/tests/mocks/include-toc/test5/input/core/concepts/toc_i.yaml +2 -0
- package/tests/mocks/include-toc/test5/input/core/concepts/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test5/input/core/toc_i.yaml +6 -0
- package/tests/mocks/include-toc/test5/input/core/toc_m.yaml +3 -0
- package/tests/mocks/include-toc/test5/input/core/toc_p.yaml +5 -0
- package/tests/mocks/include-toc/test5/input/overlay/toc_p.yaml +3 -0
- package/tests/mocks/include-toc/test5/input/toc.yaml +4 -0
- package/tests/mocks/include-toc/test6/input/test/index.md +4 -0
- package/tests/mocks/include-toc/test6/input/test/sub/sub/sub-3.md +1 -0
- package/tests/mocks/include-toc/test6/input/test/sub/sub-1.md +5 -0
- package/tests/mocks/include-toc/test6/input/test/sub/sub-2.md +1 -0
- package/tests/mocks/include-toc/test6/input/test/test.md +1 -0
- package/tests/mocks/include-toc/test6/input/toc.yaml +8 -0
- package/tests/mocks/include-toc/test7/input/.yfm +1 -0
- package/tests/mocks/include-toc/test7/input/ru/presets.yaml +2 -0
- package/tests/mocks/include-toc/test7/input/ru/sub/folder/index.yaml +4 -0
- package/tests/mocks/include-toc/test7/input/ru/sub/folder/toc.yaml +3 -0
- package/tests/mocks/include-toc/test7/input/ru/toc.yaml +3 -0
- package/tests/mocks/include-toc/test8/input/test/index.md +4 -0
- package/tests/mocks/include-toc/test8/input/test/sub/index.md +1 -0
- package/tests/mocks/include-toc/test8/input/test/sub/sub/sub-3.md +1 -0
- package/tests/mocks/include-toc/test8/input/test/sub/sub-1.md +5 -0
- package/tests/mocks/include-toc/test8/input/test/sub/sub-2.md +1 -0
- package/tests/mocks/include-toc/test8/input/test/test.md +1 -0
- package/tests/mocks/include-toc/test8/input/toc.yaml +9 -0
- package/tests/mocks/include-toc/test9/input/test/index.md +4 -0
- package/tests/mocks/include-toc/test9/input/test/sub/index.md +1 -0
- package/tests/mocks/include-toc/test9/input/test/sub/sub/sub-3.md +1 -0
- package/tests/mocks/include-toc/test9/input/test/sub/sub-1.md +5 -0
- package/tests/mocks/include-toc/test9/input/test/sub/sub-2.md +1 -0
- package/tests/mocks/include-toc/test9/input/test/test.md +1 -0
- package/tests/mocks/include-toc/test9/input/toc.yaml +8 -0
- package/tests/mocks/include-with-meta/input/included.md +16 -0
- package/tests/mocks/include-with-meta/input/index.md +15 -0
- package/tests/mocks/include-with-meta/input/toc.yaml +6 -0
- package/tests/mocks/includes/input/.yfm +1 -0
- package/tests/mocks/includes/input/_assets/4.png +0 -0
- package/tests/mocks/includes/input/includes/commented-include.md +5 -0
- package/tests/mocks/includes/input/includes/deep-include.md +13 -0
- package/tests/mocks/includes/input/includes/fragments.md +23 -0
- package/tests/mocks/includes/input/includes/nested-include.md +5 -0
- package/tests/mocks/includes/input/includes/no-title-include.md +19 -0
- package/tests/mocks/includes/input/includes/root-include.md +11 -0
- package/tests/mocks/includes/input/includes/user.md +5 -0
- package/tests/mocks/includes/input/index.md +69 -0
- package/tests/mocks/includes/input/level1/includes/level1-include.md +11 -0
- package/tests/mocks/includes/input/level1/level2/includes/level2-include.md +11 -0
- package/tests/mocks/includes/input/level1/level2/page2.md +29 -0
- package/tests/mocks/includes/input/level1/page1.md +29 -0
- package/tests/mocks/includes/input/presets.yaml +3 -0
- package/tests/mocks/includes/input/toc-include.md +13 -0
- package/tests/mocks/includes/input/toc.yaml +13 -0
- package/tests/mocks/includes-conditions/input/includes/first.md +5 -0
- package/tests/mocks/includes-conditions/input/includes/second.md +5 -0
- package/tests/mocks/includes-conditions/input/includes/third.md +1 -0
- package/tests/mocks/includes-conditions/input/index.md +7 -0
- package/tests/mocks/includes-conditions/input/presets.yaml +2 -0
- package/tests/mocks/includes-conditions/input/toc.yaml +3 -0
- package/tests/mocks/includes-missing/input/index.md +7 -0
- package/tests/mocks/includes-missing/input/toc.yaml +3 -0
- package/tests/mocks/llms/input/.yfm +1 -0
- package/tests/mocks/llms/input/_includes/requirements.md +4 -0
- package/tests/mocks/llms/input/api.md +9 -0
- package/tests/mocks/llms/input/beta.md +4 -0
- package/tests/mocks/llms/input/index.md +8 -0
- package/tests/mocks/llms/input/presets.yaml +2 -0
- package/tests/mocks/llms/input/start.md +9 -0
- package/tests/mocks/llms/input/toc.yaml +11 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/.yfm +5 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/_assets/script/test1.js +0 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/_assets/style/test.css +13 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/index.yaml +9 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/page.md +14 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/project/config.md +1 -0
- package/tests/mocks/load-custom-resources/md2html-with-resources/input/toc.yaml +7 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/.yfm +5 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/_assets/script/test1.js +0 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/_assets/style/test.css +13 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/index.yaml +9 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/page.md +14 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/project/config.md +1 -0
- package/tests/mocks/load-custom-resources/md2md-with-resources/input/toc.yaml +7 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/.yfm +5 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/_assets/script/test1.js +0 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/_assets/style/test.css +13 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/index.yaml +9 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/page.md +14 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/project/config.md +1 -0
- package/tests/mocks/load-custom-resources/single-page-with-resources/input/toc.yaml +7 -0
- package/tests/mocks/markdown-options/example-1/input/.yfm +5 -0
- package/tests/mocks/markdown-options/example-1/input/breaks.md +5 -0
- package/tests/mocks/markdown-options/example-1/input/linkify-tlds.md +7 -0
- package/tests/mocks/markdown-options/example-1/input/linkify.md +3 -0
- package/tests/mocks/markdown-options/example-1/input/toc.yaml +7 -0
- package/tests/mocks/markdown-options/example-2/input/.yfm +3 -0
- package/tests/mocks/markdown-options/example-2/input/breaks.md +5 -0
- package/tests/mocks/markdown-options/example-2/input/linkify-tlds.md +7 -0
- package/tests/mocks/markdown-options/example-2/input/linkify.md +3 -0
- package/tests/mocks/markdown-options/example-2/input/toc.yaml +7 -0
- package/tests/mocks/merge-includes/basic/input/_includes/simple.md +3 -0
- package/tests/mocks/merge-includes/basic/input/index.md +3 -0
- package/tests/mocks/merge-includes/basic/input/main.md +7 -0
- package/tests/mocks/merge-includes/basic/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/hash-fallback/input/_includes/sections.md +19 -0
- package/tests/mocks/merge-includes/hash-fallback/input/index.md +1 -0
- package/tests/mocks/merge-includes/hash-fallback/input/main.md +5 -0
- package/tests/mocks/merge-includes/hash-fallback/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/hash-section-html/input/_includes/mixed.md +11 -0
- package/tests/mocks/merge-includes/hash-section-html/input/index.md +3 -0
- package/tests/mocks/merge-includes/hash-section-html/input/main.md +13 -0
- package/tests/mocks/merge-includes/hash-section-html/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/html-comment-blanks/input/_includes/examples.md +27 -0
- package/tests/mocks/merge-includes/html-comment-blanks/input/index.md +3 -0
- package/tests/mocks/merge-includes/html-comment-blanks/input/main.md +15 -0
- package/tests/mocks/merge-includes/html-comment-blanks/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/html-in-list/input/_includes/styles.md +7 -0
- package/tests/mocks/merge-includes/html-in-list/input/index.md +3 -0
- package/tests/mocks/merge-includes/html-in-list/input/main.md +11 -0
- package/tests/mocks/merge-includes/html-in-list/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/include-after-fence/input/_includes/chat-button.md +1 -0
- package/tests/mocks/merge-includes/include-after-fence/input/_includes/footer.md +1 -0
- package/tests/mocks/merge-includes/include-after-fence/input/index.md +3 -0
- package/tests/mocks/merge-includes/include-after-fence/input/main.md +14 -0
- package/tests/mocks/merge-includes/include-after-fence/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/include-in-code-block/input/_includes/glossary.md +1 -0
- package/tests/mocks/merge-includes/include-in-code-block/input/index.md +3 -0
- package/tests/mocks/merge-includes/include-in-code-block/input/main.md +19 -0
- package/tests/mocks/merge-includes/include-in-code-block/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/indent-paragraph-in-include/input/_includes/requirements.md +9 -0
- package/tests/mocks/merge-includes/indent-paragraph-in-include/input/index.md +3 -0
- package/tests/mocks/merge-includes/indent-paragraph-in-include/input/main.md +12 -0
- package/tests/mocks/merge-includes/indent-paragraph-in-include/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/inline-context/input/_includes/snippet.md +12 -0
- package/tests/mocks/merge-includes/inline-context/input/index.md +3 -0
- package/tests/mocks/merge-includes/inline-context/input/main.md +11 -0
- package/tests/mocks/merge-includes/inline-context/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/nested/input/_includes/inner.md +3 -0
- package/tests/mocks/merge-includes/nested/input/_includes/outer.md +7 -0
- package/tests/mocks/merge-includes/nested/input/index.md +3 -0
- package/tests/mocks/merge-includes/nested/input/main.md +7 -0
- package/tests/mocks/merge-includes/nested/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/relative-paths/input/_includes/sub/with-links.md +7 -0
- package/tests/mocks/merge-includes/relative-paths/input/index.md +3 -0
- package/tests/mocks/merge-includes/relative-paths/input/main.md +3 -0
- package/tests/mocks/merge-includes/relative-paths/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/term-extract/input/_includes/chapter.md +7 -0
- package/tests/mocks/merge-includes/term-extract/input/index.md +3 -0
- package/tests/mocks/merge-includes/term-extract/input/main.md +7 -0
- package/tests/mocks/merge-includes/term-extract/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/term-inline/input/_includes/defs.md +20 -0
- package/tests/mocks/merge-includes/term-inline/input/index.md +3 -0
- package/tests/mocks/merge-includes/term-inline/input/main.md +19 -0
- package/tests/mocks/merge-includes/term-inline/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/yfm-table/input/_includes/cell-content.md +1 -0
- package/tests/mocks/merge-includes/yfm-table/input/index.md +3 -0
- package/tests/mocks/merge-includes/yfm-table/input/main.md +12 -0
- package/tests/mocks/merge-includes/yfm-table/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/yfm-table-html-block/input/_includes/button.md +8 -0
- package/tests/mocks/merge-includes/yfm-table-html-block/input/index.md +3 -0
- package/tests/mocks/merge-includes/yfm-table-html-block/input/main.md +12 -0
- package/tests/mocks/merge-includes/yfm-table-html-block/input/toc.yaml +5 -0
- package/tests/mocks/merge-includes/yfm-table-pipe-in-content/input/_includes/example.md +1 -0
- package/tests/mocks/merge-includes/yfm-table-pipe-in-content/input/index.md +3 -0
- package/tests/mocks/merge-includes/yfm-table-pipe-in-content/input/main.md +22 -0
- package/tests/mocks/merge-includes/yfm-table-pipe-in-content/input/toc.yaml +5 -0
- package/tests/mocks/metadata/include-with-csp-meta/input/.yfm +8 -0
- package/tests/mocks/metadata/include-with-csp-meta/input/_includes/support.md +1 -0
- package/tests/mocks/metadata/include-with-csp-meta/input/page.md +7 -0
- package/tests/mocks/metadata/include-with-csp-meta/input/toc.yaml +4 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/.yfm +1 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/index.yaml +9 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/page.md +16 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/presets.yaml +6 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/project/config.md +7 -0
- package/tests/mocks/metadata/md2html-with-metadata/input/toc.yaml +7 -0
- package/tests/mocks/metadata/md2md-with-metadata/input/index.yaml +9 -0
- package/tests/mocks/metadata/md2md-with-metadata/input/page.md +14 -0
- package/tests/mocks/metadata/md2md-with-metadata/input/presets.yaml +6 -0
- package/tests/mocks/metadata/md2md-with-metadata/input/project/config.md +7 -0
- package/tests/mocks/metadata/md2md-with-metadata/input/toc.yaml +7 -0
- package/tests/mocks/nested-docs/input/.yfm +1 -0
- package/tests/mocks/nested-docs/input/.yfm-subdoc +5 -0
- package/tests/mocks/nested-docs/input/index.md +5 -0
- package/tests/mocks/nested-docs/input/presets.yaml +3 -0
- package/tests/mocks/nested-docs/input/subdoc/.yfm +0 -0
- package/tests/mocks/nested-docs/input/subdoc/index.md +5 -0
- package/tests/mocks/nested-docs/input/subdoc/presets.yaml +3 -0
- package/tests/mocks/nested-docs/input/subdoc/toc.yaml +4 -0
- package/tests/mocks/nested-docs/input/toc.yaml +6 -0
- package/tests/mocks/nested-include-links/input/includes/middle.md +4 -0
- package/tests/mocks/nested-include-links/input/other/page.md +4 -0
- package/tests/mocks/nested-include-links/input/sub/deep/entry.md +8 -0
- package/tests/mocks/nested-include-links/input/target.md +4 -0
- package/tests/mocks/nested-include-links/input/toc.yaml +6 -0
- package/tests/mocks/neuro-expert/input/.yfm +14 -0
- package/tests/mocks/neuro-expert/input/en/folder/index.md +1 -0
- package/tests/mocks/neuro-expert/input/en/index-test-html/index.md +4 -0
- package/tests/mocks/neuro-expert/input/en/index.md +11 -0
- package/tests/mocks/neuro-expert/input/en/page1.md +8 -0
- package/tests/mocks/neuro-expert/input/en/page2.md +6 -0
- package/tests/mocks/neuro-expert/input/en/toc.yaml +13 -0
- package/tests/mocks/neuro-expert/input/ru/folder/index.md +1 -0
- package/tests/mocks/neuro-expert/input/ru/index-test-html/index.md +4 -0
- package/tests/mocks/neuro-expert/input/ru/index.md +5 -0
- package/tests/mocks/neuro-expert/input/ru/page1.md +3 -0
- package/tests/mocks/neuro-expert/input/ru/page2.md +11 -0
- package/tests/mocks/neuro-expert/input/ru/toc.yaml +12 -0
- package/tests/mocks/openapi-companion/input/petstore.yaml +29 -0
- package/tests/mocks/openapi-companion/input/toc.yaml +9 -0
- package/tests/mocks/openapi-companion-disabled/input/.yfm +2 -0
- package/tests/mocks/openapi-companion-disabled/input/petstore.yaml +29 -0
- package/tests/mocks/openapi-companion-disabled/input/toc.yaml +9 -0
- package/tests/mocks/openapi-companion-link/input/petstore.yaml +29 -0
- package/tests/mocks/openapi-companion-link/input/toc.yaml +12 -0
- package/tests/mocks/openapi-include-size-exceeds/input/openapi-spec.yaml +190 -0
- package/tests/mocks/openapi-include-size-exceeds/input/toc.yaml +9 -0
- package/tests/mocks/openapi-include-size-within/input/openapi-spec.yaml +16 -0
- package/tests/mocks/openapi-include-size-within/input/toc.yaml +9 -0
- package/tests/mocks/pdf-page/custom-pdf-icon/input/.yfm +6 -0
- package/tests/mocks/pdf-page/custom-pdf-icon/input/_assets/custom-pdf-icon.svg +1 -0
- package/tests/mocks/pdf-page/custom-pdf-icon/input/index.md +1 -0
- package/tests/mocks/pdf-page/custom-pdf-icon/input/pdf/output.pdf +0 -0
- package/tests/mocks/pdf-page/custom-pdf-icon/input/toc.yaml +2 -0
- package/tests/mocks/pdf-page/flag-enabled/input/__includes/include1.md +3 -0
- package/tests/mocks/pdf-page/flag-enabled/input/index.md +7 -0
- package/tests/mocks/pdf-page/flag-enabled/input/page1.md +6 -0
- package/tests/mocks/pdf-page/flag-enabled/input/page2.md +7 -0
- package/tests/mocks/pdf-page/flag-enabled/input/page3.md +1 -0
- package/tests/mocks/pdf-page/flag-enabled/input/syntax/test.md +1 -0
- package/tests/mocks/pdf-page/flag-enabled/input/toc.yaml +17 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/.yfm +2 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section1/index.md +5 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section1/page1.md +3 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section1/toc.yaml +6 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section2/index.md +5 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section2/page1.md +3 -0
- package/tests/mocks/pdf-page/multiple-tocs/input/section2/toc.yaml +6 -0
- package/tests/mocks/pdf-page/pc-page/input/__images/mountain.jpg +0 -0
- package/tests/mocks/pdf-page/pc-page/input/__includes/include1.md +1 -0
- package/tests/mocks/pdf-page/pc-page/input/index.md +1 -0
- package/tests/mocks/pdf-page/pc-page/input/index.yaml +87 -0
- package/tests/mocks/pdf-page/pc-page/input/index2.yaml +135 -0
- package/tests/mocks/pdf-page/pc-page/input/page1.md +3 -0
- package/tests/mocks/pdf-page/pc-page/input/page2.md +3 -0
- package/tests/mocks/pdf-page/pc-page/input/pdf-titles/pdf-title-page1.md +13 -0
- package/tests/mocks/pdf-page/pc-page/input/pdf-titles/pdf-title-page2.md +5 -0
- package/tests/mocks/pdf-page/pc-page/input/presets.yaml +2 -0
- package/tests/mocks/pdf-page/pc-page/input/toc.yaml +13 -0
- package/tests/mocks/pdf-page/pc-page/input/with-pc-page.md +363 -0
- package/tests/mocks/pdf-page/title-pages/input/.yfm +6 -0
- package/tests/mocks/pdf-page/title-pages/input/__assets/start-page.css +16 -0
- package/tests/mocks/pdf-page/title-pages/input/__images/mountain.jpg +0 -0
- package/tests/mocks/pdf-page/title-pages/input/__includes/include1.md +1 -0
- package/tests/mocks/pdf-page/title-pages/input/index.md +1 -0
- package/tests/mocks/pdf-page/title-pages/input/page1.md +3 -0
- package/tests/mocks/pdf-page/title-pages/input/page2.md +3 -0
- package/tests/mocks/pdf-page/title-pages/input/pdf-endings/pdf-ending-page1.md +13 -0
- package/tests/mocks/pdf-page/title-pages/input/pdf-endings/pdf-ending-page2.md +3 -0
- package/tests/mocks/pdf-page/title-pages/input/pdf-titles/pdf-title-page1.md +13 -0
- package/tests/mocks/pdf-page/title-pages/input/pdf-titles/pdf-title-page2.md +3 -0
- package/tests/mocks/pdf-page/title-pages/input/presets.yaml +2 -0
- package/tests/mocks/pdf-page/title-pages/input/toc.yaml +15 -0
- package/tests/mocks/pdf-page/yfm-config/input/.yfm +5 -0
- package/tests/mocks/pdf-page/yfm-config/input/index.md +6 -0
- package/tests/mocks/pdf-page/yfm-config/input/page1.md +3 -0
- package/tests/mocks/pdf-page/yfm-config/input/page2.md +7 -0
- package/tests/mocks/pdf-page/yfm-config/input/page3.md +1 -0
- package/tests/mocks/pdf-page/yfm-config/input/toc.yaml +15 -0
- package/tests/mocks/plugin-corner-cases/images-in-deflists/input/image.jpeg +0 -0
- package/tests/mocks/plugin-corner-cases/images-in-deflists/input/index.md +5 -0
- package/tests/mocks/plugin-corner-cases/images-in-deflists/input/toc.yaml +4 -0
- package/tests/mocks/preprocess/input/.yfm +1 -0
- package/tests/mocks/preprocess/input/1.md +29 -0
- package/tests/mocks/preprocess/input/_assets/1.png +0 -0
- package/tests/mocks/preprocess/input/_assets/1.svg +15 -0
- package/tests/mocks/preprocess/input/_assets/2.svg +19 -0
- package/tests/mocks/preprocess/input/autotitle.md +39 -0
- package/tests/mocks/preprocess/input/commented-include.md +3 -0
- package/tests/mocks/preprocess/input/images.md +163 -0
- package/tests/mocks/preprocess/input/included-item.md +12 -0
- package/tests/mocks/preprocess/input/includes/deep.md +1 -0
- package/tests/mocks/preprocess/input/includes/deepWithIndent.md +6 -0
- package/tests/mocks/preprocess/input/includes/level1.md +9 -0
- package/tests/mocks/preprocess/input/includes/level11.md +1 -0
- package/tests/mocks/preprocess/input/includes/presets.yaml +2 -0
- package/tests/mocks/preprocess/input/includes/sub/level2.md +7 -0
- package/tests/mocks/preprocess/input/includes/sub/user.md +1 -0
- package/tests/mocks/preprocess/input/includes/sub/userWithIndent.md +5 -0
- package/tests/mocks/preprocess/input/includes/test.md +1 -0
- package/tests/mocks/preprocess/input/includes/user.md +1 -0
- package/tests/mocks/preprocess/input/includes.md +18 -0
- package/tests/mocks/preprocess/input/latex.md +3 -0
- package/tests/mocks/preprocess/input/level0.md +7 -0
- package/tests/mocks/preprocess/input/level1/level1.md +7 -0
- package/tests/mocks/preprocess/input/level1/level2/level2.md +6 -0
- package/tests/mocks/preprocess/input/level1/toc.yaml +5 -0
- package/tests/mocks/preprocess/input/mermaid.md +13 -0
- package/tests/mocks/preprocess/input/presets.yaml +8 -0
- package/tests/mocks/preprocess/input/sub/folder/item-1.md +7 -0
- package/tests/mocks/preprocess/input/sub/toc.yaml +5 -0
- package/tests/mocks/preprocess/input/toc-i.yaml +3 -0
- package/tests/mocks/preprocess/input/toc.yaml +24 -0
- package/tests/mocks/redirects-validation/extensions-deprecation/input/blah.md +0 -0
- package/tests/mocks/redirects-validation/extensions-deprecation/input/redirects.yaml +5 -0
- package/tests/mocks/redirects-validation/extensions-deprecation/input/toc.yaml +4 -0
- package/tests/mocks/redirects-validation/invalid-regex/input/blah.md +0 -0
- package/tests/mocks/redirects-validation/invalid-regex/input/redirects.yaml +3 -0
- package/tests/mocks/redirects-validation/invalid-regex/input/toc.yaml +4 -0
- package/tests/mocks/redirects-validation/malformed-redirect/input/blah.md +0 -0
- package/tests/mocks/redirects-validation/malformed-redirect/input/redirects.yaml +6 -0
- package/tests/mocks/redirects-validation/malformed-redirect/input/toc.yaml +4 -0
- package/tests/mocks/redirects-validation/same-path/input/blah.md +0 -0
- package/tests/mocks/redirects-validation/same-path/input/redirects.yaml +3 -0
- package/tests/mocks/redirects-validation/same-path/input/toc.yaml +4 -0
- package/tests/mocks/redirects-validation/unparseable/input/blah.md +0 -0
- package/tests/mocks/redirects-validation/unparseable/input/redirects.yaml +11 -0
- package/tests/mocks/redirects-validation/unparseable/input/toc.yaml +4 -0
- package/tests/mocks/regression/input/.yfm +2 -0
- package/tests/mocks/regression/input/1.md +29 -0
- package/tests/mocks/regression/input/_assets/1.png +0 -0
- package/tests/mocks/regression/input/_assets/2.png +0 -0
- package/tests/mocks/regression/input/_assets/3.png +0 -0
- package/tests/mocks/regression/input/_assets/4.png +0 -0
- package/tests/mocks/regression/input/_assets/5_1.png +0 -0
- package/tests/mocks/regression/input/_assets/empty.pdf +0 -0
- package/tests/mocks/regression/input/autotitle.md +58 -0
- package/tests/mocks/regression/input/commented-include.md +3 -0
- package/tests/mocks/regression/input/entry-as-include.md +3 -0
- package/tests/mocks/regression/input/generic/1.md +3 -0
- package/tests/mocks/regression/input/generic/2.md +3 -0
- package/tests/mocks/regression/input/generic/3.md +1 -0
- package/tests/mocks/regression/input/generic/Sub notes/1.md +3 -0
- package/tests/mocks/regression/input/generic/Sub notes/2.md +3 -0
- package/tests/mocks/regression/input/images.md +13 -0
- package/tests/mocks/regression/input/included-item.md +13 -0
- package/tests/mocks/regression/input/includer-of-entry.md +5 -0
- package/tests/mocks/regression/input/includes/deep.md +3 -0
- package/tests/mocks/regression/input/includes/fragments.md +41 -0
- package/tests/mocks/regression/input/includes/presets.yaml +3 -0
- package/tests/mocks/regression/input/includes/styles.md +8 -0
- package/tests/mocks/regression/input/includes/test.md +1 -0
- package/tests/mocks/regression/input/includes/tools.md +1 -0
- package/tests/mocks/regression/input/includes/user.md +1 -0
- package/tests/mocks/regression/input/includes.md +33 -0
- package/tests/mocks/regression/input/index.yaml +9 -0
- package/tests/mocks/regression/input/latex.md +3 -0
- package/tests/mocks/regression/input/merge/merge.md +5 -0
- package/tests/mocks/regression/input/merge/presets.yaml +3 -0
- package/tests/mocks/regression/input/merge/toc.yaml +6 -0
- package/tests/mocks/regression/input/merge-source/merged.md +3 -0
- package/tests/mocks/regression/input/merge-source/toc-m.yaml +4 -0
- package/tests/mocks/regression/input/mermaid.md +13 -0
- package/tests/mocks/regression/input/openapi-spec.yaml +111 -0
- package/tests/mocks/regression/input/presets.yaml +12 -0
- package/tests/mocks/regression/input/redirects.yaml +6 -0
- package/tests/mocks/regression/input/sub/folder/item-1.md +5 -0
- package/tests/mocks/regression/input/sub/toc.yaml +5 -0
- package/tests/mocks/regression/input/toc-i.yaml +3 -0
- package/tests/mocks/regression/input/toc.yaml +43 -0
- package/tests/mocks/restricted-access/test1/input/index.md +0 -0
- package/tests/mocks/restricted-access/test1/input/plugins/index.md +0 -0
- package/tests/mocks/restricted-access/test1/input/plugins/index2.md +0 -0
- package/tests/mocks/restricted-access/test1/input/plugins/index3.md +0 -0
- package/tests/mocks/restricted-access/test1/input/plugins/index4.md +4 -0
- package/tests/mocks/restricted-access/test1/input/toc.yaml +28 -0
- package/tests/mocks/restricted-access/test2/input/index.md +0 -0
- package/tests/mocks/restricted-access/test2/input/plugins/index.md +0 -0
- package/tests/mocks/restricted-access/test2/input/project/index.md +0 -0
- package/tests/mocks/restricted-access/test2/input/toc.yaml +21 -0
- package/tests/mocks/restricted-access/test3/input/a1.md +1 -0
- package/tests/mocks/restricted-access/test3/input/folder1/a1.md +1 -0
- package/tests/mocks/restricted-access/test3/input/folder1/folder2/a1.md +1 -0
- package/tests/mocks/restricted-access/test3/input/folder1/folder2/toc.yaml +8 -0
- package/tests/mocks/restricted-access/test3/input/folder1/toc.yaml +10 -0
- package/tests/mocks/restricted-access/test3/input/index.md +0 -0
- package/tests/mocks/restricted-access/test3/input/toc.yaml +16 -0
- package/tests/mocks/rtl/multidirectional-languages/input/.yfm +1 -0
- package/tests/mocks/rtl/multidirectional-languages/input/ar/index.yaml +4 -0
- package/tests/mocks/rtl/multidirectional-languages/input/ar/page.md +1 -0
- package/tests/mocks/rtl/multidirectional-languages/input/ar/toc.yaml +5 -0
- package/tests/mocks/rtl/multidirectional-languages/input/en/index.yaml +9 -0
- package/tests/mocks/rtl/multidirectional-languages/input/en/page.md +7 -0
- package/tests/mocks/rtl/multidirectional-languages/input/en/toc.yaml +5 -0
- package/tests/mocks/rtl/rtl-language/input/.yfm +1 -0
- package/tests/mocks/rtl/rtl-language/input/index.yaml +4 -0
- package/tests/mocks/rtl/rtl-language/input/page.md +1 -0
- package/tests/mocks/rtl/rtl-language/input/toc.yaml +5 -0
- package/tests/mocks/search/input/.yfm +12 -0
- package/tests/mocks/search/input/index.md +3 -0
- package/tests/mocks/search/input/toc.yaml +1 -0
- package/tests/mocks/single-page/input/ru/index.yaml +9 -0
- package/tests/mocks/single-page/input/ru/page.md +14 -0
- package/tests/mocks/single-page/input/ru/project/config.md +1 -0
- package/tests/mocks/single-page/input/ru/toc.yaml +7 -0
- package/tests/mocks/skip-html-extension/monolingual/input/.yfm +1 -0
- package/tests/mocks/skip-html-extension/monolingual/input/folder/index.md +1 -0
- package/tests/mocks/skip-html-extension/monolingual/input/index-test-html/index.md +4 -0
- package/tests/mocks/skip-html-extension/monolingual/input/index.md +6 -0
- package/tests/mocks/skip-html-extension/monolingual/input/page1.md +3 -0
- package/tests/mocks/skip-html-extension/monolingual/input/page2.md +6 -0
- package/tests/mocks/skip-html-extension/monolingual/input/toc.yaml +13 -0
- package/tests/mocks/skip-html-extension/multilingual/input/.yfm +2 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/folder/index.md +1 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/index-test-html/index.md +4 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/index.md +6 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/page1.md +3 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/page2.md +6 -0
- package/tests/mocks/skip-html-extension/multilingual/input/en/toc.yaml +13 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/folder/index.md +1 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/index-test-html/index.md +4 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/index.md +5 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/page1.md +3 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/page2.md +6 -0
- package/tests/mocks/skip-html-extension/multilingual/input/ru/toc.yaml +12 -0
- package/tests/mocks/themer/test1/input/.yfm +3 -0
- package/tests/mocks/themer/test1/input/_assets/style/custom.css +3 -0
- package/tests/mocks/themer/test1/input/index.md +1 -0
- package/tests/mocks/themer/test1/input/theme.yaml +14 -0
- package/tests/mocks/themer/test1/input/toc.yaml +3 -0
- package/tests/mocks/themer/test2/input/index.md +1 -0
- package/tests/mocks/themer/test2/input/theme.yaml +8 -0
- package/tests/mocks/themer/test2/input/toc.yaml +3 -0
- package/tests/mocks/themer/test3/input/index.md +1 -0
- package/tests/mocks/themer/test3/input/toc.yaml +3 -0
- package/tests/mocks/themer/test4/input/index.md +1 -0
- package/tests/mocks/themer/test4/input/theme.yaml +3 -0
- package/tests/mocks/themer/test4/input/toc.yaml +3 -0
- package/tests/mocks/themer/test5/input/.yfm +1 -0
- package/tests/mocks/themer/test5/input/index.md +1 -0
- package/tests/mocks/themer/test5/input/toc.yaml +3 -0
- package/tests/mocks/themer/test6/input/.yfm +3 -0
- package/tests/mocks/themer/test6/input/index.md +11 -0
- package/tests/mocks/themer/test6/input/toc.yaml +5 -0
- package/tests/mocks/themer/test7/input/.yfm +3 -0
- package/tests/mocks/themer/test7/input/index.md +5 -0
- package/tests/mocks/themer/test7/input/theme.yaml +7 -0
- package/tests/mocks/themer/test7/input/toc.yaml +5 -0
- package/tests/mocks/themer/test8/input/.yfm +3 -0
- package/tests/mocks/themer/test8/input/index.md +5 -0
- package/tests/mocks/themer/test8/input/toc.yaml +5 -0
- package/tests/mocks/toc-label/input/.yfm +1 -0
- package/tests/mocks/toc-label/input/index.md +3 -0
- package/tests/mocks/toc-label/input/page1.md +3 -0
- package/tests/mocks/toc-label/input/toc.yaml +10 -0
- package/tests/mocks/translation/compose/input/openapi-spec.yaml.skl +41 -0
- package/tests/mocks/translation/compose/input/openapi-spec.yaml.xliff +52 -0
- package/tests/mocks/translation/compose/input/toc.yaml.skl +8 -0
- package/tests/mocks/translation/compose/input/toc.yaml.xliff +16 -0
- package/tests/mocks/translation/conditions/input/index.md +37 -0
- package/tests/mocks/translation/conditions/input/toc.yaml +5 -0
- package/tests/mocks/translation/custom-schema/custom-openapi-schema-30.yaml +1054 -0
- package/tests/mocks/translation/dir-files/input/.yfm +6 -0
- package/tests/mocks/translation/dir-files/input/ru/_includes/test.md +1 -0
- package/tests/mocks/translation/dir-files/input/ru/_no-translate/exclude.md +1 -0
- package/tests/mocks/translation/dir-files/input/ru/aboba.md +5 -0
- package/tests/mocks/translation/dir-files/input/ru/index.md +3 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/a1.md +3 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/folder1/a1.md +3 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/folder1/toc-i.yaml +3 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/index-yfm.md +2 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/index.yaml +24 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/not-in-toc.md +20 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/syntax/base.md +3 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/syntax/index.md +2 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/syntax/lists.md +1 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/toc.yaml +19 -0
- package/tests/mocks/translation/dir-files/input/ru/nested/use_filtered_above.md +4 -0
- package/tests/mocks/translation/dir-files/input/ru/no-var-page.md +3 -0
- package/tests/mocks/translation/dir-files/input/ru/not-in-toc.md +20 -0
- package/tests/mocks/translation/dir-files/input/ru/to-be-excluded.md +1 -0
- package/tests/mocks/translation/dir-files/input/ru/toc.yaml +13 -0
- package/tests/mocks/translation/no-translate/input/index.md +7 -0
- package/tests/mocks/translation/no-translate/input/no-translate.md +57 -0
- package/tests/mocks/translation/no-translate/input/openapi-spec.yaml +37 -0
- package/tests/mocks/translation/no-translate/input/toc.yaml +11 -0
- package/tests/mocks/translation/openapi/input/openapi-spec.yaml +50 -0
- package/tests/mocks/translation/openapi/input/toc.yaml +8 -0
- package/tests/mocks/translation/toc-include/input/included-toc/merged-included-toc-item.md +1 -0
- package/tests/mocks/translation/toc-include/input/included-toc/toc.yaml +3 -0
- package/tests/mocks/translation/toc-include/input/included-toc.md +1 -0
- package/tests/mocks/translation/toc-include/input/index.md +7 -0
- package/tests/mocks/translation/toc-include/input/merged-included-toc-item.md +1 -0
- package/tests/mocks/translation/toc-include/input/no-translate.md +57 -0
- package/tests/mocks/translation/toc-include/input/openapi-spec.yaml +37 -0
- package/tests/mocks/translation/toc-include/input/toc.yaml +14 -0
- package/tests/mocks/translation/yaml-scheme/input/ru/.yfm +1 -0
- package/tests/mocks/translation/yaml-scheme/input/ru/index-direct.yaml +133 -0
- package/tests/mocks/translation/yaml-scheme/input/ru/index.yaml +32 -0
- package/tests/mocks/translation/yaml-scheme/input/ru/toc.yaml +19 -0
- package/tests/mocks/vars-conditions/input/.yfm +1 -0
- package/tests/mocks/vars-conditions/input/index.md +3 -0
- package/tests/mocks/vars-conditions/input/page1.yaml +13 -0
- package/tests/mocks/vars-conditions/input/page2.md +24 -0
- package/tests/mocks/vars-conditions/input/page3.md +1 -0
- package/tests/mocks/vars-conditions/input/page4.md +1 -0
- package/tests/mocks/vars-conditions/input/page5.yaml +10 -0
- package/tests/mocks/vars-conditions/input/presets.yaml +9 -0
- package/tests/mocks/vars-conditions/input/toc.yaml +51 -0
- package/tests/mocks/vars-ignore/input/.yfm +1 -0
- package/tests/mocks/vars-ignore/input/data/data-test.md +4 -0
- package/tests/mocks/vars-ignore/input/data/presets.yaml +3 -0
- package/tests/mocks/vars-ignore/input/data/temp-test.md +4 -0
- package/tests/mocks/vars-ignore/input/ignored/ignored-test.md +4 -0
- package/tests/mocks/vars-ignore/input/ignored/presets.yaml +3 -0
- package/tests/mocks/vars-ignore/input/presets.yaml +3 -0
- package/tests/mocks/vars-ignore/input/test.md +6 -0
- package/tests/mocks/vars-ignore/input/toc.yaml +8 -0
- package/tests/mocks/warning/unreachable-autotitle/input/index.md +1 -0
- package/tests/mocks/warning/unreachable-autotitle/input/link.md +0 -0
- package/tests/mocks/warning/unreachable-autotitle/input/toc.yaml +4 -0
- package/tests/tsconfig.json +13 -0
- package/vitest.integration.config.ts +26 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import {describe, expect, it} from 'vitest';
|
|
2
|
+
import {existsSync} from 'node:fs';
|
|
3
|
+
import {readFile} from 'node:fs/promises';
|
|
4
|
+
import {join} from 'node:path';
|
|
5
|
+
|
|
6
|
+
import {TestAdapter, getTestPaths} from '../fixtures';
|
|
7
|
+
|
|
8
|
+
describe('Build themer feature', () => {
|
|
9
|
+
it.each([
|
|
10
|
+
['md2md', true, false],
|
|
11
|
+
['md2html', false, true],
|
|
12
|
+
])('generates theme.css from theme.yaml (%s)', async (_, md2md, md2html) => {
|
|
13
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test1');
|
|
14
|
+
|
|
15
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
16
|
+
md2md,
|
|
17
|
+
md2html,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
21
|
+
const css = await readFile(cssPath, 'utf8');
|
|
22
|
+
|
|
23
|
+
expect(css).toContain('--g-color-base-brand: var(--g-color-private-base-brand-550-solid);');
|
|
24
|
+
expect(css).toContain('--g-color-private-base-brand-550-solid: rgb(255 0 0);');
|
|
25
|
+
expect(css).toContain('--g-color-private-base-brand-600-solid: rgb(255 25 25);');
|
|
26
|
+
expect(css).toContain('--yfm-color-link: green;');
|
|
27
|
+
expect(css).toContain('--yfm-color-link: blue;');
|
|
28
|
+
expect(css).toContain('--g-color-base-selection: rgb(255 0 255);');
|
|
29
|
+
expect(css).toContain('--g-color-base-background: hsl(60 100% 50%);');
|
|
30
|
+
expect(css).toContain('--g-color-base-background: rgba(255, 165, 0, 1);');
|
|
31
|
+
expect(css).toContain('--g-color-base-selection: hsla(0 0% 50% / 1);');
|
|
32
|
+
expect(css).toContain('--yfm-color-note-info-background: red;');
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it.each([
|
|
36
|
+
['md2md', true, false],
|
|
37
|
+
['md2html', false, true],
|
|
38
|
+
])('generates theme.css with theme.yaml and flag value (%s)', async (_, md2md, md2html) => {
|
|
39
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test1');
|
|
40
|
+
|
|
41
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
42
|
+
md2md,
|
|
43
|
+
md2html,
|
|
44
|
+
args: '--theme pink',
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
48
|
+
const css = await readFile(cssPath, 'utf8');
|
|
49
|
+
|
|
50
|
+
expect(css).toContain('--g-color-base-brand: var(--g-color-private-base-brand-550-solid);');
|
|
51
|
+
expect(css).toContain('--g-color-private-base-brand-550-solid: rgb(255 192 203);');
|
|
52
|
+
expect(css).toContain('--g-color-private-base-brand-600-solid: rgb(234 177 188);');
|
|
53
|
+
expect(css).toContain('--yfm-color-link: green;');
|
|
54
|
+
expect(css).toContain('--yfm-color-link: blue;');
|
|
55
|
+
expect(css).toContain('--g-color-base-selection: rgb(255 0 255);');
|
|
56
|
+
expect(css).toContain('--g-color-base-background: hsl(60 100% 50%);');
|
|
57
|
+
expect(css).toContain('--g-color-base-background: rgba(255, 165, 0, 1);');
|
|
58
|
+
expect(css).toContain('--g-color-base-selection: hsla(0 0% 50% / 1);');
|
|
59
|
+
expect(css).toContain('--yfm-color-note-info-background: red;');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it.each([
|
|
63
|
+
['md2md', true, false],
|
|
64
|
+
['md2html', false, true],
|
|
65
|
+
])('generates theme.css from flag value only (%s)', async (_, md2md, md2html) => {
|
|
66
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test3');
|
|
67
|
+
|
|
68
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
69
|
+
md2md,
|
|
70
|
+
md2html,
|
|
71
|
+
args: '--theme pink',
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
75
|
+
const css = await readFile(cssPath, 'utf8');
|
|
76
|
+
|
|
77
|
+
expect(existsSync(join(inputPath, 'theme.yaml'))).toBe(false);
|
|
78
|
+
expect(css).toContain('--g-color-base-brand: var(--g-color-private-base-brand-550-solid);');
|
|
79
|
+
expect(css).toContain('--g-color-private-base-brand-550-solid: rgb(255 192 203);');
|
|
80
|
+
expect(css).toContain('--g-color-private-base-brand-600-solid: rgb(234 177 188);');
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it('custom styles override theme colors', async () => {
|
|
84
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test1');
|
|
85
|
+
|
|
86
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
87
|
+
md2md: false,
|
|
88
|
+
md2html: true,
|
|
89
|
+
args: '--allow-custom-resources true',
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
const htmlPath = join(outputPath, 'index.html');
|
|
93
|
+
const html = await readFile(htmlPath, 'utf8');
|
|
94
|
+
|
|
95
|
+
const themeIndex = html.indexOf('_assets/style/theme.css');
|
|
96
|
+
const customIndex = html.indexOf('_assets/style/custom.css');
|
|
97
|
+
expect(customIndex).toBeGreaterThan(themeIndex);
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
it('does not generates theme.css if not theme.yaml and flag', async () => {
|
|
101
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test3');
|
|
102
|
+
|
|
103
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
104
|
+
md2md: false,
|
|
105
|
+
md2html: true,
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
const htmlPath = join(outputPath, 'index.html');
|
|
109
|
+
const html = await readFile(htmlPath, 'utf8');
|
|
110
|
+
|
|
111
|
+
const themeIndex = html.indexOf('_assets/style/theme.css');
|
|
112
|
+
expect(themeIndex).toBe(-1);
|
|
113
|
+
|
|
114
|
+
const themePath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
115
|
+
expect(existsSync(themePath)).toBe(false);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it.each([
|
|
119
|
+
['md2md', 'md'],
|
|
120
|
+
['md2html', 'html'],
|
|
121
|
+
])('includes errors for invalid colors from theme.yaml and flag (%s)', async (_, format) => {
|
|
122
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test2');
|
|
123
|
+
|
|
124
|
+
const report = await TestAdapter.build.run(inputPath, outputPath, [
|
|
125
|
+
'-f',
|
|
126
|
+
format,
|
|
127
|
+
'--theme',
|
|
128
|
+
'pinkk',
|
|
129
|
+
]);
|
|
130
|
+
|
|
131
|
+
expect(report.code).toBe(1);
|
|
132
|
+
expect(report.errors.includes('ERR Invalid color: "pinkk"')).toBe(true);
|
|
133
|
+
expect(report.errors.includes('ERR Invalid color: "redd"')).toBe(true);
|
|
134
|
+
expect(report.errors.includes('ERR /dark/link must be string')).toBe(true);
|
|
135
|
+
expect(report.errors.includes('ERR Invalid color: "5"')).toBe(true);
|
|
136
|
+
expect(report.errors.includes('ERR Invalid color: ""')).toBe(true);
|
|
137
|
+
expect(report.errors.includes('ERR Invalid color: " "')).toBe(true);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it.each([
|
|
141
|
+
['md2md', 'md'],
|
|
142
|
+
['md2html', 'html'],
|
|
143
|
+
])('warns about unknown color keys in theme.yaml (%s)', async (_, format) => {
|
|
144
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test1');
|
|
145
|
+
|
|
146
|
+
const report = await TestAdapter.build.run(inputPath, outputPath, ['-f', format]);
|
|
147
|
+
|
|
148
|
+
expect(report.code).toBe(0);
|
|
149
|
+
expect(
|
|
150
|
+
report.warns.includes(
|
|
151
|
+
'WARN File theme.yaml must NOT have additional properties "base-brandd"',
|
|
152
|
+
),
|
|
153
|
+
).toBe(true);
|
|
154
|
+
expect(
|
|
155
|
+
report.warns.includes('WARN /dark must NOT have additional properties "unknown-color"'),
|
|
156
|
+
).toBe(true);
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it.each([
|
|
160
|
+
['md2md', 'md'],
|
|
161
|
+
['md2html', 'html'],
|
|
162
|
+
])('includes errors for invalid syntax in theme.yaml (%s)', async (_, format) => {
|
|
163
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test4');
|
|
164
|
+
|
|
165
|
+
const report = await TestAdapter.build.run(inputPath, outputPath, ['-f', format]);
|
|
166
|
+
|
|
167
|
+
expect(report.code).toBe(1);
|
|
168
|
+
expect(
|
|
169
|
+
report.errors.includes(
|
|
170
|
+
'ERR Failed to generate theme: YAMLException: bad indentation of a mapping entry (3:5)',
|
|
171
|
+
),
|
|
172
|
+
).toBe(true);
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it.each([
|
|
176
|
+
['md2md', true, false],
|
|
177
|
+
['md2html', false, true],
|
|
178
|
+
])('generates theme.css from .yfm (%s)', async (_, md2md, md2html) => {
|
|
179
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test5');
|
|
180
|
+
|
|
181
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
182
|
+
md2md,
|
|
183
|
+
md2html,
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
187
|
+
const css = await readFile(cssPath, 'utf8');
|
|
188
|
+
|
|
189
|
+
expect(css).toContain('--g-color-base-brand: var(--g-color-private-base-brand-550-solid);');
|
|
190
|
+
expect(css).toContain('--g-color-private-base-brand-550-solid: rgb(255 0 0);');
|
|
191
|
+
expect(css).toContain('--g-color-private-base-brand-600-solid: rgb(234 4 5);');
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
it.each([
|
|
195
|
+
['md2md', true, false],
|
|
196
|
+
['md2html', false, true],
|
|
197
|
+
])('generates theme.css from codeHighlight only (%s)', async (_, md2md, md2html) => {
|
|
198
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test6');
|
|
199
|
+
|
|
200
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
201
|
+
md2md,
|
|
202
|
+
md2html,
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
206
|
+
const css = await readFile(cssPath, 'utf8');
|
|
207
|
+
|
|
208
|
+
expect(existsSync(join(inputPath, 'theme.yaml'))).toBe(false);
|
|
209
|
+
expect(css).toContain('.g-root_theme_light .dc-doc-page .yfm .hljs');
|
|
210
|
+
expect(css).toContain('.g-root_theme_dark .dc-doc-page .yfm .hljs');
|
|
211
|
+
expect(css).toContain('.g-root_theme_light .dc-doc-page .yfm .hljs-keyword');
|
|
212
|
+
expect(css).toContain('.g-root_theme_dark .dc-doc-page .yfm .hljs-keyword');
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
it.each([
|
|
216
|
+
['md2md', true, false],
|
|
217
|
+
['md2html', false, true],
|
|
218
|
+
])(
|
|
219
|
+
'generates theme.css from codeHighlight with theme.yaml overrides (%s)',
|
|
220
|
+
async (_, md2md, md2html) => {
|
|
221
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test7');
|
|
222
|
+
|
|
223
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
224
|
+
md2md,
|
|
225
|
+
md2html,
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
229
|
+
const css = await readFile(cssPath, 'utf8');
|
|
230
|
+
|
|
231
|
+
expect(css).toContain('.g-root_theme_light .dc-doc-page .yfm .hljs');
|
|
232
|
+
expect(css).toContain('.g-root_theme_dark .dc-doc-page .yfm .hljs');
|
|
233
|
+
|
|
234
|
+
expect(css).toContain('--yfm-color-code: #111111;');
|
|
235
|
+
expect(css).toContain('--yfm-color-code-background: #ffeeaa;');
|
|
236
|
+
expect(css).toContain('--yfm-color-code: #eeeeee;');
|
|
237
|
+
expect(css).toContain('--yfm-color-code-background: #221144;');
|
|
238
|
+
|
|
239
|
+
expect(css).toContain('color: var(--yfm-color-code);');
|
|
240
|
+
expect(css).toContain('background: var(--yfm-color-code-background);');
|
|
241
|
+
},
|
|
242
|
+
);
|
|
243
|
+
|
|
244
|
+
it.each([
|
|
245
|
+
['md2md', 'md'],
|
|
246
|
+
['md2html', 'html'],
|
|
247
|
+
])('includes error for unknown code highlight theme (%s)', async (_, format) => {
|
|
248
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test8');
|
|
249
|
+
|
|
250
|
+
const report = await TestAdapter.build.run(inputPath, outputPath, ['-f', format]);
|
|
251
|
+
|
|
252
|
+
expect(report.code).toBe(1);
|
|
253
|
+
expect(
|
|
254
|
+
report.errors.includes(
|
|
255
|
+
'ERR Failed to generate theme: Error: Unknown highlight.js theme: "unknown-highlight-theme"',
|
|
256
|
+
),
|
|
257
|
+
).toBe(true);
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
it.each([
|
|
261
|
+
['md2md', true, false],
|
|
262
|
+
['md2html', false, true],
|
|
263
|
+
])('flag overrides theme from .yfm (%s)', async (_, md2md, md2html) => {
|
|
264
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test5');
|
|
265
|
+
|
|
266
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
267
|
+
md2md,
|
|
268
|
+
md2html,
|
|
269
|
+
args: '--theme pink',
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
const cssPath = join(outputPath, '_assets', 'style', 'theme.css');
|
|
273
|
+
const css = await readFile(cssPath, 'utf8');
|
|
274
|
+
|
|
275
|
+
expect(css).toContain('--g-color-base-brand: var(--g-color-private-base-brand-550-solid);');
|
|
276
|
+
expect(css).toContain('--g-color-private-base-brand-550-solid: rgb(255 192 203);');
|
|
277
|
+
expect(css).toContain('--g-color-private-base-brand-600-solid: rgb(234 177 188);');
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it('add theme to front matter', async () => {
|
|
281
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test5');
|
|
282
|
+
|
|
283
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
284
|
+
md2md: true,
|
|
285
|
+
md2html: false,
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
const mdPath = join(outputPath, 'index.md');
|
|
289
|
+
const md = await readFile(mdPath, 'utf8');
|
|
290
|
+
|
|
291
|
+
expect(md).toMatch(/theme:\s*_assets[/\\]style[/\\]theme\.css/);
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
it('does not add theme to front matter when theme.css is not generated', async () => {
|
|
295
|
+
const {inputPath, outputPath} = getTestPaths('mocks/themer/test3');
|
|
296
|
+
|
|
297
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
298
|
+
md2md: true,
|
|
299
|
+
md2html: false,
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
const mdPath = join(outputPath, 'index.md');
|
|
303
|
+
const md = await readFile(mdPath, 'utf8');
|
|
304
|
+
|
|
305
|
+
expect(md).not.toMatch(/theme:\s*_assets[/\\]style[/\\]theme\.css/);
|
|
306
|
+
});
|
|
307
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {describe, it} from 'vitest';
|
|
2
|
+
|
|
3
|
+
import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
|
|
4
|
+
|
|
5
|
+
describe('Toc label', () => {
|
|
6
|
+
it('should pass TocLabel object through to toc output', async () => {
|
|
7
|
+
const {inputPath, outputPath} = getTestPaths('mocks/toc-label');
|
|
8
|
+
|
|
9
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
10
|
+
md2md: true,
|
|
11
|
+
md2html: false,
|
|
12
|
+
args: '-j2',
|
|
13
|
+
});
|
|
14
|
+
await TestAdapter.testBuildPass(outputPath, outputPath + '-html', {
|
|
15
|
+
md2md: false,
|
|
16
|
+
md2html: true,
|
|
17
|
+
args: '-j2',
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
await compareDirectories(outputPath);
|
|
21
|
+
await compareDirectories(outputPath + '-html');
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import type {TranslateRunArgs} from '../fixtures';
|
|
2
|
+
|
|
3
|
+
import {describe, test} from 'vitest';
|
|
4
|
+
|
|
5
|
+
import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
|
|
6
|
+
|
|
7
|
+
const generateMapTestTemplate = (
|
|
8
|
+
testTitle: string,
|
|
9
|
+
testRootPath: string,
|
|
10
|
+
args: TranslateRunArgs,
|
|
11
|
+
ignoreFileContent = true,
|
|
12
|
+
// TODO: added especialy for 'extract openapi spec files with custom openapi schema provided' test, arc test issue
|
|
13
|
+
ignoreFileList = false,
|
|
14
|
+
) => {
|
|
15
|
+
test(testTitle, async () => {
|
|
16
|
+
const {inputPath, outputPath} = getTestPaths(testRootPath);
|
|
17
|
+
|
|
18
|
+
await TestAdapter.testTranslatePass(inputPath, outputPath, args);
|
|
19
|
+
|
|
20
|
+
await compareDirectories(outputPath, ignoreFileContent, false, ignoreFileList);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const generateFilesYamlTestTemplate = (
|
|
25
|
+
testTitle: string,
|
|
26
|
+
testRootPath: string,
|
|
27
|
+
args: TranslateRunArgs,
|
|
28
|
+
) => {
|
|
29
|
+
test(testTitle, async () => {
|
|
30
|
+
const {inputPath, outputPath} = getTestPaths(testRootPath);
|
|
31
|
+
|
|
32
|
+
await TestAdapter.testTranslatePass(inputPath, outputPath, args);
|
|
33
|
+
|
|
34
|
+
await compareDirectories(outputPath);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const buildFilesYamlTestTemplate = (
|
|
39
|
+
testTitle: string,
|
|
40
|
+
testRootPath: string,
|
|
41
|
+
buildProps: {md2md?: boolean; md2html?: boolean},
|
|
42
|
+
) => {
|
|
43
|
+
test(testTitle, async () => {
|
|
44
|
+
const {inputPath, outputPath} = getTestPaths(testRootPath);
|
|
45
|
+
const {md2md, md2html} = buildProps;
|
|
46
|
+
|
|
47
|
+
// Disable OpenAPI spec companions: the mock ships an openapi spec, and emitting the
|
|
48
|
+
// `*.openapi.json` companion would change these translation snapshots.
|
|
49
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
50
|
+
md2html,
|
|
51
|
+
md2md,
|
|
52
|
+
args: '--no-ai-openapi-companions',
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
await compareDirectories(outputPath);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
describe('Translate command', () => {
|
|
60
|
+
buildFilesYamlTestTemplate(
|
|
61
|
+
'build translated md files and remove no-translate directives',
|
|
62
|
+
'mocks/translation/no-translate',
|
|
63
|
+
{md2md: true},
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
buildFilesYamlTestTemplate(
|
|
67
|
+
'build translated static files and remove no-translate directives',
|
|
68
|
+
'mocks/translation/no-translate',
|
|
69
|
+
{md2html: true},
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
generateFilesYamlTestTemplate('extract openapi spec files', 'mocks/translation/openapi', {
|
|
73
|
+
subcommand: 'extract',
|
|
74
|
+
source: 'ru-RU',
|
|
75
|
+
target: 'es-ES',
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
generateFilesYamlTestTemplate(
|
|
79
|
+
'extract openapi spec files with --no-ref-resolve option',
|
|
80
|
+
'mocks/translation/openapi',
|
|
81
|
+
{
|
|
82
|
+
subcommand: 'extract',
|
|
83
|
+
source: 'ru-RU',
|
|
84
|
+
target: 'es-ES',
|
|
85
|
+
additionalArgs: '--no-ref-resolve',
|
|
86
|
+
},
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
generateMapTestTemplate(
|
|
90
|
+
'extract openapi spec files with custom openapi schema provided',
|
|
91
|
+
'mocks/translation/openapi',
|
|
92
|
+
{
|
|
93
|
+
subcommand: 'extract',
|
|
94
|
+
source: 'ru-RU',
|
|
95
|
+
target: 'es-ES',
|
|
96
|
+
additionalArgs:
|
|
97
|
+
'--schema mocks/translation/custom-schema/custom-openapi-schema-30.yaml',
|
|
98
|
+
},
|
|
99
|
+
false,
|
|
100
|
+
true,
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
generateFilesYamlTestTemplate('compose openapi spec files', 'mocks/translation/compose', {
|
|
104
|
+
subcommand: 'compose',
|
|
105
|
+
source: 'ru-RU',
|
|
106
|
+
target: 'es-ES',
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
generateMapTestTemplate(
|
|
110
|
+
'do not translate merged entries with included toc',
|
|
111
|
+
'mocks/translation/toc-include',
|
|
112
|
+
{
|
|
113
|
+
subcommand: 'extract',
|
|
114
|
+
source: 'ru-RU',
|
|
115
|
+
target: 'es-ES',
|
|
116
|
+
},
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
generateMapTestTemplate('do not filter files on extract', 'mocks/translation/dir-files', {
|
|
120
|
+
subcommand: 'extract',
|
|
121
|
+
source: 'ru-RU',
|
|
122
|
+
target: 'es-ES',
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
generateMapTestTemplate('filter files on extract', 'mocks/translation/dir-files', {
|
|
126
|
+
subcommand: 'extract',
|
|
127
|
+
source: 'ru-RU',
|
|
128
|
+
target: 'es-ES',
|
|
129
|
+
additionalArgs: '--filter',
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
generateMapTestTemplate(
|
|
133
|
+
'filter files on extract with extra exclude option',
|
|
134
|
+
'mocks/translation/dir-files',
|
|
135
|
+
{
|
|
136
|
+
subcommand: 'extract',
|
|
137
|
+
source: 'ru-RU',
|
|
138
|
+
target: 'es-ES',
|
|
139
|
+
additionalArgs: '--exclude ru/to-be-excluded.md --filter',
|
|
140
|
+
},
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
const vars = {skip: 'prod'};
|
|
144
|
+
generateMapTestTemplate(
|
|
145
|
+
'filter files on extract with extra vars option',
|
|
146
|
+
'mocks/translation/dir-files',
|
|
147
|
+
{
|
|
148
|
+
subcommand: 'extract',
|
|
149
|
+
source: 'ru-RU',
|
|
150
|
+
target: 'es-ES',
|
|
151
|
+
additionalArgs: `--vars ${JSON.stringify(vars)} --filter`,
|
|
152
|
+
},
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
const conditions = {tld: 'ru'};
|
|
156
|
+
generateMapTestTemplate(
|
|
157
|
+
'resolve liquid conditions if vars specified, liquid syntax will be deleted',
|
|
158
|
+
'mocks/translation/conditions',
|
|
159
|
+
{
|
|
160
|
+
subcommand: 'extract',
|
|
161
|
+
source: 'ru-RU',
|
|
162
|
+
target: 'es-ES',
|
|
163
|
+
additionalArgs: `--vars ${JSON.stringify(conditions)}`,
|
|
164
|
+
},
|
|
165
|
+
false,
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
generateMapTestTemplate(
|
|
169
|
+
'do not resolve liquid conditions if vars not specified and send content as is for extract',
|
|
170
|
+
'mocks/translation/conditions',
|
|
171
|
+
{
|
|
172
|
+
subcommand: 'extract',
|
|
173
|
+
source: 'ru-RU',
|
|
174
|
+
target: 'es-ES',
|
|
175
|
+
},
|
|
176
|
+
false,
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
generateMapTestTemplate(
|
|
180
|
+
'test no-translate directive',
|
|
181
|
+
'mocks/translation/no-translate',
|
|
182
|
+
{
|
|
183
|
+
subcommand: 'extract',
|
|
184
|
+
source: 'ru-RU',
|
|
185
|
+
target: 'es-ES',
|
|
186
|
+
},
|
|
187
|
+
false,
|
|
188
|
+
);
|
|
189
|
+
|
|
190
|
+
generateFilesYamlTestTemplate('extract yaml scheme files', 'mocks/translation/yaml-scheme', {
|
|
191
|
+
subcommand: 'extract',
|
|
192
|
+
source: 'ru-RU',
|
|
193
|
+
target: 'en-US',
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
let conditionVars = {prod: true, inner: true, list: ['item']};
|
|
197
|
+
generateMapTestTemplate(
|
|
198
|
+
'save truthy liquid conditions structures',
|
|
199
|
+
'mocks/translation/conditions',
|
|
200
|
+
{
|
|
201
|
+
subcommand: 'extract',
|
|
202
|
+
source: 'ru-RU',
|
|
203
|
+
target: 'es-ES',
|
|
204
|
+
additionalArgs: `--vars ${JSON.stringify(conditionVars)}`,
|
|
205
|
+
},
|
|
206
|
+
false,
|
|
207
|
+
);
|
|
208
|
+
|
|
209
|
+
conditionVars = {prod: false, inner: false, list: ['item']};
|
|
210
|
+
generateMapTestTemplate(
|
|
211
|
+
'remove falsy liquid conditions structures',
|
|
212
|
+
'mocks/translation/conditions',
|
|
213
|
+
{
|
|
214
|
+
subcommand: 'extract',
|
|
215
|
+
source: 'ru-RU',
|
|
216
|
+
target: 'es-ES',
|
|
217
|
+
additionalArgs: `--vars ${JSON.stringify(conditionVars)}`,
|
|
218
|
+
},
|
|
219
|
+
false,
|
|
220
|
+
);
|
|
221
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {describe, it} from 'vitest';
|
|
2
|
+
|
|
3
|
+
import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
|
|
4
|
+
|
|
5
|
+
describe('Vars and conditions', () => {
|
|
6
|
+
it('Vars and conditions', async () => {
|
|
7
|
+
const {inputPath, outputPath} = getTestPaths('mocks/vars-conditions');
|
|
8
|
+
|
|
9
|
+
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
10
|
+
md2md: false,
|
|
11
|
+
md2html: true,
|
|
12
|
+
args: '-j2',
|
|
13
|
+
});
|
|
14
|
+
await compareDirectories(outputPath);
|
|
15
|
+
});
|
|
16
|
+
});
|