diff --git a/.eslintignore b/.eslintignore index d525538fd8..a28f4736e0 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,6 +5,11 @@ node_modules *.d.ts packages/cli/src/lib/live-server/* +packages/cli/test/**/pagefind/**/*.js + + +# Docs +docs/_site/ # --- packages/core --- diff --git a/.gitignore b/.gitignore index 354522f152..3a43278b04 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,9 @@ packages/core/template/*/_site # Generated site (MarkBind) packages/cli/test/functional/*/_site +# Generated pagefind directories for sites and in expected +packages/cli/test/functional/**/pagefind + # Ignore .page-vue-render.js files in functional test and subdirectories on update packages/cli/test/functional/**/*.page-vue-render.js @@ -107,6 +110,8 @@ packages/core/index.js packages/core/src/lib/progress/*.js # --- packages/core end --- -# Nx for Lerna .nx/cache -.nx/workspace-data \ No newline at end of file +.nx/workspace-data + +# Pagefind fragments +*.pf_fragment \ No newline at end of file diff --git a/docs/userGuide/makingTheSiteSearchable.md b/docs/userGuide/makingTheSiteSearchable.md index 4e28680c49..e5ef64f9fb 100644 --- a/docs/userGuide/makingTheSiteSearchable.md +++ b/docs/userGuide/makingTheSiteSearchable.md @@ -37,6 +37,35 @@ You can add a search bar component to your website to allow users to search the + + +## Using Pagefind (Beta) + +MarkBind now supports [Pagefind](https://pagefind.app/), a static low-bandwidth search library, as a built-in feature. This provides full-text search capabilities without external services. + + +This is a beta feature and will be refined in future updates. To use it, you must have enableSearch: true in your site.json (this is the default). + + + +The Pagefind index is currently only generated during a full site build (e.g., markbind build). It will not repeatedly update during live reload (markbind serve) when you modify pages. You must restart the server (re-run markbind serve) or rebuild to refresh the search index. + + +To add the Pagefind search bar to your page, simply insert the following `div` where you want it to appear: + +```html +
+``` + +MarkBind will automatically inject the necessary scripts and styles to render the search UI. + +The following UI will be rendered, which is provided by Pagefind: + +
+ + +
+ ## Using External Search Services MarkBind sites can use Algolia Doc Search services easily via the Algolia plugin. Unlike the built-in search, Algolia provides full-text search. See the panel below for more info. diff --git a/package-lock.json b/package-lock.json index b581c17151..45f64ae721 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4326,6 +4326,84 @@ "dev": true, "license": "MIT" }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz", + "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz", + "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz", + "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz", + "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz", + "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz", + "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -17172,6 +17250,23 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/pagefind": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz", + "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.4.0", + "@pagefind/darwin-x64": "1.4.0", + "@pagefind/freebsd-x64": "1.4.0", + "@pagefind/linux-arm64": "1.4.0", + "@pagefind/linux-x64": "1.4.0", + "@pagefind/windows-x64": "1.4.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -24523,6 +24618,7 @@ "material-icons": "^1.9.1", "moment": "^2.29.4", "nunjucks": "3.2.4", + "pagefind": "^1.4.0", "path-is-inside": "^1.0.2", "simple-git": "^3.22.0", "url-parse": "^1.5.10", @@ -29865,6 +29961,7 @@ "memfs": "^3.0.1", "moment": "^2.29.4", "nunjucks": "3.2.4", + "pagefind": "^1.4.0", "path-is-inside": "^1.0.2", "simple-git": "^3.22.0", "ts-jest": "^29.4.6", @@ -32711,6 +32808,42 @@ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, + "@pagefind/darwin-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz", + "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==", + "optional": true + }, + "@pagefind/darwin-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz", + "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==", + "optional": true + }, + "@pagefind/freebsd-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz", + "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==", + "optional": true + }, + "@pagefind/linux-arm64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz", + "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==", + "optional": true + }, + "@pagefind/linux-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz", + "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==", + "optional": true + }, + "@pagefind/windows-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz", + "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==", + "optional": true + }, "@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -43303,6 +43436,19 @@ } } }, + "pagefind": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz", + "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==", + "requires": { + "@pagefind/darwin-arm64": "1.4.0", + "@pagefind/darwin-x64": "1.4.0", + "@pagefind/freebsd-x64": "1.4.0", + "@pagefind/linux-arm64": "1.4.0", + "@pagefind/linux-x64": "1.4.0", + "@pagefind/windows-x64": "1.4.0" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", diff --git a/packages/cli/test/functional/test.js b/packages/cli/test/functional/test.js index 77366ae900..58df4a1b2f 100644 --- a/packages/cli/test/functional/test.js +++ b/packages/cli/test/functional/test.js @@ -43,12 +43,14 @@ expectedErrors.forEach((error, index) => { logger.info(`${index + 1}: ${error}`); }); +const GENERATED_DIRECTORIES_TO_IGNORE = ['pagefind']; + testSites.forEach((siteName) => { console.log(`Running ${siteName} tests`); try { execSync(`node ../../index.js build ${siteName}`, execOptions); const siteIgnoredFiles = plantumlGeneratedFilesForTestSites[siteName]; - compare(siteName, 'expected', '_site', siteIgnoredFiles); + compare(siteName, 'expected', '_site', siteIgnoredFiles, GENERATED_DIRECTORIES_TO_IGNORE); } catch (err) { printFailedMessage(err, siteName); process.exit(1); @@ -63,7 +65,8 @@ testConvertSites.forEach((sitePath) => { execSync(`node ../../index.js init ${nonMarkBindSitePath} -c`, execOptions); execSync(`node ../../index.js build ${nonMarkBindSitePath}`, execOptions); const siteIgnoredFiles = plantumlGeneratedFilesForConvertSites[siteName]; - compare(sitePath, 'expected', 'non_markbind_site/_site', siteIgnoredFiles); + compare(sitePath, 'expected', 'non_markbind_site/_site', siteIgnoredFiles, + GENERATED_DIRECTORIES_TO_IGNORE); } catch (err) { printFailedMessage(err, sitePath); cleanupConvert(path.resolve(__dirname, sitePath)); @@ -83,7 +86,7 @@ testTemplateSites.forEach((templateAndSitePath) => { execSync(`node ../../index.js init ${siteCreationTempPath} --template ${flag}`, execOptions); execSync(`node ../../index.js build ${siteCreationTempPath}`, execOptions); const siteIgnoredFiles = plantumlGeneratedFilesForTemplateSites[siteName]; - compare(sitePath, 'expected', 'tmp/_site', siteIgnoredFiles); + compare(sitePath, 'expected', 'tmp/_site', siteIgnoredFiles, GENERATED_DIRECTORIES_TO_IGNORE); } catch (err) { printFailedMessage(err, sitePath); fs.removeSync(path.resolve(__dirname, siteCreationTempPath)); diff --git a/packages/cli/test/functional/testUtil/compare.js b/packages/cli/test/functional/testUtil/compare.js index 22e75421c3..abfa70fa92 100644 --- a/packages/cli/test/functional/testUtil/compare.js +++ b/packages/cli/test/functional/testUtil/compare.js @@ -43,13 +43,19 @@ function filterPageVueRenderFiles(filePaths) { * @param {string} expectedSiteRelativePath - Relative path to expected site output (default: "expected") * @param {string} siteRelativePath - Relative path to actual generated site output (default: "_site") * @param {string} ignoredPaths - Specify any paths to ignore for comparison, but still check for existence. + * @param {string[]} ignoredDirectories - Specify any directories to ignore for comparison (e.g. 'pagefind') */ -function compare(root, expectedSiteRelativePath = 'expected', siteRelativePath = '_site', ignoredPaths = []) { +function compare(root, + expectedSiteRelativePath = 'expected', + siteRelativePath = '_site', + ignoredPaths = [], + ignoredDirectories = []) { const expectedDirectory = path.join(root, expectedSiteRelativePath); const actualDirectory = path.join(root, siteRelativePath); - let expectedPaths = walkSync(expectedDirectory, { directories: false }); - let actualPaths = walkSync(actualDirectory, { directories: false }); + const walkSyncOptions = { directories: false, ignore: ignoredDirectories }; + let expectedPaths = walkSync(expectedDirectory, walkSyncOptions); + let actualPaths = walkSync(actualDirectory, walkSyncOptions); // Vue render JS files (*.page-vue-render.js) are not committed to version control, // so we exclude them from the comparison to avoid false positive diffs. diff --git a/packages/cli/test/functional/test_site/expected/bugs/index.html b/packages/cli/test/functional/test_site/expected/bugs/index.html index 8a52e0ef6e..c9cc28a86d 100644 --- a/packages/cli/test/functional/test_site/expected/bugs/index.html +++ b/packages/cli/test/functional/test_site/expected/bugs/index.html @@ -16,6 +16,7 @@ + @@ -359,5 +360,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/index.html b/packages/cli/test/functional/test_site/expected/index.html index e4f1be5ce2..f101c12a6c 100644 --- a/packages/cli/test/functional/test_site/expected/index.html +++ b/packages/cli/test/functional/test_site/expected/index.html @@ -16,6 +16,7 @@ + @@ -1025,5 +1026,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/index.html b/packages/cli/test/functional/test_site/expected/sub_site/index.html index f47619db3c..e28c08481a 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/index.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/index.html @@ -15,6 +15,7 @@ + @@ -366,5 +367,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html index f2aeb11c9d..48096d9c42 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/index.html @@ -15,6 +15,7 @@ + @@ -357,5 +358,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html index 0155ee970c..4ef0670136 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/nested_sub_site/testNunjucksPathResolving.html @@ -16,6 +16,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html index 0155ee970c..4ef0670136 100644 --- a/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/sub_site/testNunjucksPathResolving.html @@ -16,6 +16,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAltFrontMatterInvalidKeyValue.html b/packages/cli/test/functional/test_site/expected/testAltFrontMatterInvalidKeyValue.html index 601c8c7962..af805e98f6 100644 --- a/packages/cli/test/functional/test_site/expected/testAltFrontMatterInvalidKeyValue.html +++ b/packages/cli/test/functional/test_site/expected/testAltFrontMatterInvalidKeyValue.html @@ -16,6 +16,7 @@ + @@ -357,5 +358,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAltFrontMatterParsing.html b/packages/cli/test/functional/test_site/expected/testAltFrontMatterParsing.html index 17207d7511..055579fed8 100644 --- a/packages/cli/test/functional/test_site/expected/testAltFrontMatterParsing.html +++ b/packages/cli/test/functional/test_site/expected/testAltFrontMatterParsing.html @@ -16,6 +16,7 @@ + @@ -356,5 +357,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html b/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html index 13d004778b..1b96a87244 100644 --- a/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html +++ b/packages/cli/test/functional/test_site/expected/testAnchorGeneration.html @@ -16,6 +16,7 @@ + @@ -425,5 +426,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAnnotate.html b/packages/cli/test/functional/test_site/expected/testAnnotate.html index 035382b67c..312cf56924 100644 --- a/packages/cli/test/functional/test_site/expected/testAnnotate.html +++ b/packages/cli/test/functional/test_site/expected/testAnnotate.html @@ -16,6 +16,7 @@ + @@ -536,5 +537,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html b/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html index 57e37d0e42..bbf1234e35 100644 --- a/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html +++ b/packages/cli/test/functional/test_site/expected/testAntiFOUCStyles.html @@ -16,6 +16,7 @@ + @@ -380,5 +381,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.html b/packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.html index b34c1c5f9c..7b42dd1954 100644 --- a/packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.html +++ b/packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.html @@ -14,6 +14,7 @@ + @@ -195,5 +196,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testCenterText.html b/packages/cli/test/functional/test_site/expected/testCenterText.html index 4776bb714d..fe428d7d21 100644 --- a/packages/cli/test/functional/test_site/expected/testCenterText.html +++ b/packages/cli/test/functional/test_site/expected/testCenterText.html @@ -16,6 +16,7 @@ + @@ -356,5 +357,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testCodeBlocks.html b/packages/cli/test/functional/test_site/expected/testCodeBlocks.html index 02be227015..323d20d110 100644 --- a/packages/cli/test/functional/test_site/expected/testCodeBlocks.html +++ b/packages/cli/test/functional/test_site/expected/testCodeBlocks.html @@ -16,6 +16,7 @@ + @@ -579,5 +580,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testDates.html b/packages/cli/test/functional/test_site/expected/testDates.html index f9669d12ed..313ef82fe0 100644 --- a/packages/cli/test/functional/test_site/expected/testDates.html +++ b/packages/cli/test/functional/test_site/expected/testDates.html @@ -16,6 +16,7 @@ + @@ -362,5 +363,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testEmptyAltFrontMatter.html b/packages/cli/test/functional/test_site/expected/testEmptyAltFrontMatter.html index 7f55d24cba..5189299bd2 100644 --- a/packages/cli/test/functional/test_site/expected/testEmptyAltFrontMatter.html +++ b/packages/cli/test/functional/test_site/expected/testEmptyAltFrontMatter.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html b/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html index 5c45042e01..b256fd946b 100644 --- a/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html +++ b/packages/cli/test/functional/test_site/expected/testEmptyFrontmatter.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testExternalScripts.html b/packages/cli/test/functional/test_site/expected/testExternalScripts.html index d28deb49ae..426fa50c90 100644 --- a/packages/cli/test/functional/test_site/expected/testExternalScripts.html +++ b/packages/cli/test/functional/test_site/expected/testExternalScripts.html @@ -19,6 +19,7 @@ + @@ -367,5 +368,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testFontAwesomeInPage.html b/packages/cli/test/functional/test_site/expected/testFontAwesomeInPage.html index 5bd82a5416..36a8af1180 100644 --- a/packages/cli/test/functional/test_site/expected/testFontAwesomeInPage.html +++ b/packages/cli/test/functional/test_site/expected/testFontAwesomeInPage.html @@ -14,6 +14,7 @@ + @@ -200,5 +201,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testGlyphiconInPage.html b/packages/cli/test/functional/test_site/expected/testGlyphiconInPage.html index ff5d0aa822..4321e84f35 100644 --- a/packages/cli/test/functional/test_site/expected/testGlyphiconInPage.html +++ b/packages/cli/test/functional/test_site/expected/testGlyphiconInPage.html @@ -14,6 +14,7 @@ + @@ -197,5 +198,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testHr.html b/packages/cli/test/functional/test_site/expected/testHr.html index f935cc8079..3925079181 100644 --- a/packages/cli/test/functional/test_site/expected/testHr.html +++ b/packages/cli/test/functional/test_site/expected/testHr.html @@ -16,6 +16,7 @@ + @@ -365,5 +366,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIconsInSiteLayout.html b/packages/cli/test/functional/test_site/expected/testIconsInSiteLayout.html index 4f53c87fee..aed2a41faa 100644 --- a/packages/cli/test/functional/test_site/expected/testIconsInSiteLayout.html +++ b/packages/cli/test/functional/test_site/expected/testIconsInSiteLayout.html @@ -15,6 +15,7 @@ + @@ -199,5 +200,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testImages.html b/packages/cli/test/functional/test_site/expected/testImages.html index 730ab3f3e2..508702314c 100644 --- a/packages/cli/test/functional/test_site/expected/testImages.html +++ b/packages/cli/test/functional/test_site/expected/testImages.html @@ -16,6 +16,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html b/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html index cab0944b53..d19c63026c 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html +++ b/packages/cli/test/functional/test_site/expected/testIncludeBoilerplate.html @@ -16,6 +16,7 @@ + @@ -447,5 +448,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html b/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html index 417fd150fb..becf9965af 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html +++ b/packages/cli/test/functional/test_site/expected/testIncludeMultipleModals.html @@ -16,6 +16,7 @@ + @@ -362,5 +363,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html b/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html index a47ebd85b8..d47e0ec6dd 100644 --- a/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html +++ b/packages/cli/test/functional/test_site/expected/testIncludePluginsRendered.html @@ -16,6 +16,7 @@ + @@ -357,5 +358,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayouts.html b/packages/cli/test/functional/test_site/expected/testLayouts.html index 27b0bbf6b2..e76dbff272 100644 --- a/packages/cli/test/functional/test_site/expected/testLayouts.html +++ b/packages/cli/test/functional/test_site/expected/testLayouts.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html b/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html index 7bf5c6fe90..764a22fa81 100644 --- a/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html +++ b/packages/cli/test/functional/test_site/expected/testLayoutsOverride.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayoutsOverrideWithAltFrontmatter.html b/packages/cli/test/functional/test_site/expected/testLayoutsOverrideWithAltFrontmatter.html index b2436a53be..5a9c2d5d03 100644 --- a/packages/cli/test/functional/test_site/expected/testLayoutsOverrideWithAltFrontmatter.html +++ b/packages/cli/test/functional/test_site/expected/testLayoutsOverrideWithAltFrontmatter.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLayoutsWithAltFrontMatter.html b/packages/cli/test/functional/test_site/expected/testLayoutsWithAltFrontMatter.html index b8b8400395..d76b88736c 100644 --- a/packages/cli/test/functional/test_site/expected/testLayoutsWithAltFrontMatter.html +++ b/packages/cli/test/functional/test_site/expected/testLayoutsWithAltFrontMatter.html @@ -19,6 +19,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testLinks.html b/packages/cli/test/functional/test_site/expected/testLinks.html index c89bf1f6dc..81c5324bcb 100644 --- a/packages/cli/test/functional/test_site/expected/testLinks.html +++ b/packages/cli/test/functional/test_site/expected/testLinks.html @@ -16,6 +16,7 @@ + @@ -366,5 +367,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testList.html b/packages/cli/test/functional/test_site/expected/testList.html index 34f04874db..ab623d1b53 100644 --- a/packages/cli/test/functional/test_site/expected/testList.html +++ b/packages/cli/test/functional/test_site/expected/testList.html @@ -16,6 +16,7 @@ + @@ -1294,5 +1295,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMaterialIconsInPage.html b/packages/cli/test/functional/test_site/expected/testMaterialIconsInPage.html index 212ecd06bd..8d0e2e5a94 100644 --- a/packages/cli/test/functional/test_site/expected/testMaterialIconsInPage.html +++ b/packages/cli/test/functional/test_site/expected/testMaterialIconsInPage.html @@ -14,6 +14,7 @@ + @@ -195,5 +196,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMath.html b/packages/cli/test/functional/test_site/expected/testMath.html index f5a5f31489..67658b39b3 100644 --- a/packages/cli/test/functional/test_site/expected/testMath.html +++ b/packages/cli/test/functional/test_site/expected/testMath.html @@ -16,6 +16,7 @@ + @@ -622,5 +623,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testMermaid.html b/packages/cli/test/functional/test_site/expected/testMermaid.html index 3772d47fa6..9006fc29d9 100644 --- a/packages/cli/test/functional/test_site/expected/testMermaid.html +++ b/packages/cli/test/functional/test_site/expected/testMermaid.html @@ -16,6 +16,7 @@ + @@ -441,5 +442,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testModals.html b/packages/cli/test/functional/test_site/expected/testModals.html index d23b903d7c..54276c2690 100644 --- a/packages/cli/test/functional/test_site/expected/testModals.html +++ b/packages/cli/test/functional/test_site/expected/testModals.html @@ -16,6 +16,7 @@ + @@ -498,5 +499,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html b/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html index 0155ee970c..4ef0670136 100644 --- a/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html +++ b/packages/cli/test/functional/test_site/expected/testNunjucksPathResolving.html @@ -16,6 +16,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testOcticonInPage.html b/packages/cli/test/functional/test_site/expected/testOcticonInPage.html index 889b849c0e..bcd7714338 100644 --- a/packages/cli/test/functional/test_site/expected/testOcticonInPage.html +++ b/packages/cli/test/functional/test_site/expected/testOcticonInPage.html @@ -14,6 +14,7 @@ + @@ -208,5 +209,21 @@ }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNav.html b/packages/cli/test/functional/test_site/expected/testPageNav.html index 7ff1245076..5a195d40c7 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNav.html +++ b/packages/cli/test/functional/test_site/expected/testPageNav.html @@ -16,6 +16,7 @@ + @@ -371,5 +372,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavPrint.html b/packages/cli/test/functional/test_site/expected/testPageNavPrint.html index 2e80bca571..e34330dad3 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavPrint.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavPrint.html @@ -16,6 +16,7 @@ + @@ -369,5 +370,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavTarget.html b/packages/cli/test/functional/test_site/expected/testPageNavTarget.html index 6b68ff0b1a..715c48d1db 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavTarget.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavTarget.html @@ -16,6 +16,7 @@ + @@ -359,5 +360,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html b/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html index 9e987c386b..a74aa4af1a 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavWithOnlyTitle.html @@ -16,6 +16,7 @@ + @@ -359,5 +360,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html b/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html index a0398f42f9..6f6c6d3da8 100644 --- a/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html +++ b/packages/cli/test/functional/test_site/expected/testPageNavWithoutTitleAndNavHeadings.html @@ -16,6 +16,7 @@ + @@ -355,5 +356,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html b/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html index b276045b0e..a1a9d56a45 100644 --- a/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html +++ b/packages/cli/test/functional/test_site/expected/testPanelMarkdownParsing.html @@ -16,6 +16,7 @@ + @@ -413,5 +414,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPanels.html b/packages/cli/test/functional/test_site/expected/testPanels.html index 5921038c83..0e086b9eef 100644 --- a/packages/cli/test/functional/test_site/expected/testPanels.html +++ b/packages/cli/test/functional/test_site/expected/testPanels.html @@ -16,6 +16,7 @@ + @@ -371,5 +372,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPanelsClosingTransition.html b/packages/cli/test/functional/test_site/expected/testPanelsClosingTransition.html index 5b94b10784..eff4e75ec4 100644 --- a/packages/cli/test/functional/test_site/expected/testPanelsClosingTransition.html +++ b/packages/cli/test/functional/test_site/expected/testPanelsClosingTransition.html @@ -16,6 +16,7 @@ + @@ -399,5 +400,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPlantUML.html b/packages/cli/test/functional/test_site/expected/testPlantUML.html index 5645e764bc..03dcd148b5 100644 --- a/packages/cli/test/functional/test_site/expected/testPlantUML.html +++ b/packages/cli/test/functional/test_site/expected/testPlantUML.html @@ -16,6 +16,7 @@ + @@ -361,5 +362,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html b/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html index ab9d2712ea..27359790a2 100644 --- a/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html +++ b/packages/cli/test/functional/test_site/expected/testPopoverTrigger.html @@ -16,6 +16,7 @@ + @@ -361,5 +362,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testPopovers.html b/packages/cli/test/functional/test_site/expected/testPopovers.html index f1c57d1919..0a5588814d 100644 --- a/packages/cli/test/functional/test_site/expected/testPopovers.html +++ b/packages/cli/test/functional/test_site/expected/testPopovers.html @@ -16,6 +16,7 @@ + @@ -446,5 +447,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testSingleAltFrontMatter.html b/packages/cli/test/functional/test_site/expected/testSingleAltFrontMatter.html index 6cdeb2b191..4e1a60e7be 100644 --- a/packages/cli/test/functional/test_site/expected/testSingleAltFrontMatter.html +++ b/packages/cli/test/functional/test_site/expected/testSingleAltFrontMatter.html @@ -16,6 +16,7 @@ + @@ -354,5 +355,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testSourceContainScript.html b/packages/cli/test/functional/test_site/expected/testSourceContainScript.html index 5276f9e193..8d6a6c4676 100644 --- a/packages/cli/test/functional/test_site/expected/testSourceContainScript.html +++ b/packages/cli/test/functional/test_site/expected/testSourceContainScript.html @@ -16,6 +16,7 @@ + @@ -365,5 +366,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testThumbnails.html b/packages/cli/test/functional/test_site/expected/testThumbnails.html index 0dbe37929c..99b090c24e 100644 --- a/packages/cli/test/functional/test_site/expected/testThumbnails.html +++ b/packages/cli/test/functional/test_site/expected/testThumbnails.html @@ -16,6 +16,7 @@ + @@ -453,5 +454,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html b/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html index ce8cd4f467..110ba2465e 100644 --- a/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html +++ b/packages/cli/test/functional/test_site/expected/testTooltipSpacing.html @@ -16,6 +16,7 @@ + @@ -363,5 +364,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testTree.html b/packages/cli/test/functional/test_site/expected/testTree.html index d6980ffc97..e624fefe2b 100644 --- a/packages/cli/test/functional/test_site/expected/testTree.html +++ b/packages/cli/test/functional/test_site/expected/testTree.html @@ -16,6 +16,7 @@ + @@ -428,5 +429,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html b/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html index 931ea8746f..1bb2ba3b28 100644 --- a/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html +++ b/packages/cli/test/functional/test_site/expected/testVariableContainsInclude.html @@ -16,6 +16,7 @@ + @@ -353,5 +354,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.html b/packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.html index e2d764e383..e5cc161a77 100644 --- a/packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.html +++ b/packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.html @@ -16,6 +16,7 @@ + @@ -407,5 +408,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/expected/test_md_fragment.html b/packages/cli/test/functional/test_site/expected/test_md_fragment.html index b6614b58c9..94e80ce9f5 100644 --- a/packages/cli/test/functional/test_site/expected/test_md_fragment.html +++ b/packages/cli/test/functional/test_site/expected/test_md_fragment.html @@ -15,6 +15,7 @@ + @@ -353,5 +354,21 @@

Heading in footer should not be }); + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_algolia_plugin/expected/index.html b/packages/cli/test/functional/test_site_algolia_plugin/expected/index.html index c49859a0c3..8f3e6a7e83 100644 --- a/packages/cli/test/functional/test_site_algolia_plugin/expected/index.html +++ b/packages/cli/test/functional/test_site_algolia_plugin/expected/index.html @@ -12,6 +12,7 @@ + @@ -138,4 +139,21 @@ document.getElementsByTagName('head')[0].appendChild(style); + + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.html index ead4e744de..d93f476e1c 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.html @@ -11,6 +11,7 @@ + @@ -82,5 +83,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.html index 41205daa07..8d349f35a2 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.html @@ -10,6 +10,7 @@ + @@ -73,5 +74,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.html index 9b33070a50..b333cdbb86 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.html @@ -10,6 +10,7 @@ + @@ -73,5 +74,21 @@

Page 1 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.html index 37a76d7d26..d0d9dbe77e 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.html @@ -10,6 +10,7 @@ + @@ -73,5 +74,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.html index d9d4f276bb..4e2e6ccc52 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.html @@ -10,6 +10,7 @@ + @@ -76,5 +77,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.html index df719fa270..df8849e518 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.html @@ -10,6 +10,7 @@ + @@ -74,5 +75,21 @@

About + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.html index 7aee400f45..494d477e7a 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.html @@ -10,6 +10,7 @@ + @@ -78,5 +79,21 @@

Topic 1 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.html index 4bfdac1ad2..83887543de 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.html @@ -10,6 +10,7 @@ + @@ -77,5 +78,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.html index efcd341834..e82f9874f3 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.html @@ -10,6 +10,7 @@ + @@ -77,5 +78,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.html index 388aaa53d1..2503a8aa40 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.html @@ -10,6 +10,7 @@ + @@ -77,5 +78,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.html b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.html index ed77fd78f3..5d5f9b52ec 100644 --- a/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.html +++ b/packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.html @@ -10,6 +10,7 @@ + @@ -73,5 +74,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.html index 2d1a1d456e..a7e4870c8e 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.html @@ -11,6 +11,7 @@ + @@ -119,5 +120,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.html index e72d218bea..2c1f64531d 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.html @@ -10,6 +10,7 @@ + @@ -110,5 +111,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.html index 9a75daec36..faa650221d 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.html @@ -10,6 +10,7 @@ + @@ -110,5 +111,21 @@

Page 1 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.html index bc8b3e3a12..abea25c7a0 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.html @@ -10,6 +10,7 @@ + @@ -111,5 +112,21 @@

Readme + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.html index a584510a91..53f2550646 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.html @@ -10,6 +10,7 @@ + @@ -111,5 +112,21 @@

About + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.html index 3391bd6570..2673c15f47 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.html @@ -10,6 +10,7 @@ + @@ -114,5 +115,21 @@

Topic 1 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.html index ab91792897..2857634cdc 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.html @@ -10,6 +10,7 @@ + @@ -113,5 +114,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.html index c526e7f37a..7a7631a422 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.html @@ -10,6 +10,7 @@ + @@ -113,5 +114,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.html index 73ec531d2e..490f95ee1e 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.html @@ -10,6 +10,7 @@ + @@ -113,5 +114,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.html index 795215a895..2bb24a75d0 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.html @@ -10,6 +10,7 @@ + @@ -111,5 +112,21 @@

Readme + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.html index 4c1ddb7155..aa09721222 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.html @@ -10,6 +10,7 @@ + @@ -110,5 +111,21 @@

Sample cont + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.html index f7a6c559ff..2e84e2c58a 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.html @@ -10,6 +10,7 @@ + @@ -110,5 +111,21 @@

Sample cont + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.html b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.html index 78048881d4..cbefc08091 100644 --- a/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.html +++ b/packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.html @@ -10,6 +10,7 @@ + @@ -110,5 +111,21 @@

Sample cont + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_special_tags/expected/index.html b/packages/cli/test/functional/test_site_special_tags/expected/index.html index 3b6c085bd9..7d905b5629 100644 --- a/packages/cli/test/functional/test_site_special_tags/expected/index.html +++ b/packages/cli/test/functional/test_site_special_tags/expected/index.html @@ -11,6 +11,7 @@ + @@ -104,5 +105,21 @@

So far as to comply with t + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_table_plugin/expected/index.html b/packages/cli/test/functional/test_site_table_plugin/expected/index.html index 140af4f47f..a83cd9240e 100644 --- a/packages/cli/test/functional/test_site_table_plugin/expected/index.html +++ b/packages/cli/test/functional/test_site_table_plugin/expected/index.html @@ -12,6 +12,7 @@ + @@ -430,4 +431,21 @@

Welcome to MarkBind + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/404.html b/packages/cli/test/functional/test_site_templates/test_default/expected/404.html index 6838869d03..9fd3461894 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/404.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/404.html @@ -10,6 +10,7 @@ + @@ -39,5 +40,21 @@ + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic1.html b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic1.html index 74f469d8f8..43d143a9dc 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic1.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic1.html @@ -12,6 +12,7 @@ + @@ -109,5 +110,21 @@

Topic 1 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic2.html b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic2.html index d54875ff54..346616830b 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic2.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic2.html @@ -12,6 +12,7 @@ + @@ -109,5 +110,21 @@

Topic 2 + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3a.html b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3a.html index 68eb4157de..befa894f4b 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3a.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3a.html @@ -12,6 +12,7 @@ + @@ -109,5 +110,21 @@

Topic 3a + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3b.html b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3b.html index b603c5a4b8..cb4f3f4586 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3b.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/contents/topic3b.html @@ -12,6 +12,7 @@ + @@ -109,5 +110,21 @@

Topic 3b + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_default/expected/index.html b/packages/cli/test/functional/test_site_templates/test_default/expected/index.html index 9e0efbf164..3600e7df6d 100644 --- a/packages/cli/test/functional/test_site_templates/test_default/expected/index.html +++ b/packages/cli/test/functional/test_site_templates/test_default/expected/index.html @@ -12,6 +12,7 @@ + @@ -157,5 +158,21 @@
User Guide: Full Syntax Refere + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_minimal/expected/index.html b/packages/cli/test/functional/test_site_templates/test_minimal/expected/index.html index 3fc9d912c0..dbaf9d0a90 100644 --- a/packages/cli/test/functional/test_site_templates/test_minimal/expected/index.html +++ b/packages/cli/test/functional/test_site_templates/test_minimal/expected/index.html @@ -11,6 +11,7 @@ + @@ -39,5 +40,21 @@

Welcome to MarkBind + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.html b/packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.html index a9c188266f..fbcbe67d33 100644 --- a/packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.html +++ b/packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.html @@ -12,6 +12,7 @@ + @@ -251,5 +252,21 @@

Project title + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.html index e9708ab205..91815fc2eb 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.html @@ -12,6 +12,7 @@ + @@ -178,5 +179,21 @@

Configuration guide + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.html index 19f40b6fcb..35d0c136ba 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.html @@ -12,6 +12,7 @@ + @@ -272,5 +273,21 @@

Component 2 MarkBind.setupWithSearch() + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.html index 3f64ccad51..c547ee4083 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.html @@ -12,6 +12,7 @@ + @@ -235,5 +236,21 @@

Making a release + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.html index 19c03798b7..10f92f8edb 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.html @@ -12,6 +12,7 @@ + @@ -196,5 +197,21 @@

Acknowledgements + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.html index 513b76c303..add475f78e 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.html @@ -12,6 +12,7 @@ + @@ -199,5 +200,21 @@

Documentation Guide + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.html index 10fc620dc5..4890870713 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.html @@ -12,6 +12,7 @@ + @@ -221,5 +222,21 @@

[Proposed] Data archiving + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.html index afc6292b88..94d24d7d23 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.html @@ -12,6 +12,7 @@ + @@ -277,5 +278,21 @@

Non-Functional Requirements + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.html index c5a7abff94..28010c731d 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.html @@ -12,6 +12,7 @@ + @@ -235,5 +236,21 @@

Before writing code + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.html index daf88c671c..18c482d149 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.html @@ -12,6 +12,7 @@ + @@ -210,5 +211,21 @@

Types of tests + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.html b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.html index 09050bc206..0b437215f0 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.html @@ -12,6 +12,7 @@ + @@ -234,5 +235,21 @@

Tracing the execution path + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/index.html b/packages/cli/test/functional/test_site_templates/test_project/expected/index.html index 83c2e7050a..60f71d5a5a 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/index.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/index.html @@ -12,6 +12,7 @@ + @@ -195,5 +196,21 @@

ProjectEx + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.html b/packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.html index 79bf66e53c..7bdae1e800 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.html @@ -12,6 +12,7 @@ + @@ -223,5 +224,21 @@

James Doe + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.html b/packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.html index 659421b290..081ca69abf 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.html @@ -12,6 +12,7 @@ + @@ -241,5 +242,21 @@

Project: ProjectEx + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.html b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.html index 3008e098cb..293fd72f72 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.html @@ -12,6 +12,7 @@ + @@ -193,5 +194,21 @@

FAQ + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.html b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.html index bc485479e9..ae9ad605f5 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.html @@ -12,6 +12,7 @@ + @@ -225,5 +226,21 @@

Future Feature Z + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.html b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.html index 0018eab77a..fdff2bf69c 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.html @@ -12,6 +12,7 @@ + @@ -193,5 +194,21 @@

Quick start MarkBind.setupWithSearch() + + + \ No newline at end of file diff --git a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.html b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.html index 011af58835..da4ed3ccd0 100644 --- a/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.html +++ b/packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.html @@ -12,6 +12,7 @@ + @@ -194,5 +195,21 @@

Purpose of this Guide MarkBind.setupWithSearch() + + + \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index d9aecf3429..746313c39a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -63,6 +63,7 @@ "material-icons": "^1.9.1", "moment": "^2.29.4", "nunjucks": "3.2.4", + "pagefind": "^1.4.0", "path-is-inside": "^1.0.2", "simple-git": "^3.22.0", "url-parse": "^1.5.10", diff --git a/packages/core/src/Page/PageConfig.ts b/packages/core/src/Page/PageConfig.ts index 6d37f73134..e93b4040a9 100644 --- a/packages/core/src/Page/PageConfig.ts +++ b/packages/core/src/Page/PageConfig.ts @@ -23,8 +23,11 @@ export interface PageAssets { vue: string; pageVueRenderJs?: string; layoutUserScriptsAndStyles: string[]; - pluginScripts?: string[], - pluginLinks?: string[], + pluginScripts?: string[]; + pluginLinks?: string[]; + pagefindCss?: string; + pagefindJs?: string; + pagefindScript?: string; } /** diff --git a/packages/core/src/Page/page.njk b/packages/core/src/Page/page.njk index 269c8390c6..1086fc8dce 100644 --- a/packages/core/src/Page/page.njk +++ b/packages/core/src/Page/page.njk @@ -19,6 +19,7 @@ {% if asset.bootstrapIcons %} {%- endif -%} {%- if not dev -%}{%- endif -%} + {% if asset.pagefindCss %} {%- endif -%} {%- if asset.pluginLinks -%} {%- for link in asset.pluginLinks -%} {{ link }} @@ -57,6 +58,12 @@ {{ script }} {%- endfor %} {%- endif %} +{%- if asset.pagefindJs %} + +{%- endif %} +{%- if asset.pagefindScript %} + {{ asset.pagefindScript }} +{%- endif %} {%- if asset.scriptBottom %} {%- for scripts in asset.scriptBottom %} {{ scripts }} diff --git a/packages/core/src/Page/pagefindScript.ts b/packages/core/src/Page/pagefindScript.ts new file mode 100644 index 0000000000..0c47a52f16 --- /dev/null +++ b/packages/core/src/Page/pagefindScript.ts @@ -0,0 +1,19 @@ +const PAGEFIND_INPUT_SELECTOR = '#pagefind-search-input'; + +// See https://pagefind.app/docs/ui-usage/ +export const getPagefindScript = (): string => ` + + `; diff --git a/packages/core/src/Site/index.ts b/packages/core/src/Site/index.ts index 56d2deef72..ab4b40892c 100644 --- a/packages/core/src/Site/index.ts +++ b/packages/core/src/Site/index.ts @@ -11,6 +11,7 @@ import { Template as NunjucksTemplate } from 'nunjucks'; import { SiteConfig, SiteConfigPage, SiteConfigStyle } from './SiteConfig'; import { Page } from '../Page'; import { PageConfig } from '../Page/PageConfig'; +import { getPagefindScript } from '../Page/pagefindScript'; import { VariableProcessor } from '../variables/VariableProcessor'; import { VariableRenderer } from '../variables/VariableRenderer'; import { ExternalManager } from '../External/ExternalManager'; @@ -313,6 +314,15 @@ export class Site { ? 'https://cdn.jsdelivr.net/npm/vue@3.3.11/dist/vue.global.min.js' : path.posix.join(baseAssetsPath, 'js', 'vue.global.prod.min.js'), layoutUserScriptsAndStyles: [], + pagefindCss: this.siteConfig.enableSearch + ? path.posix.join(this.siteConfig.baseUrl || '/', 'pagefind', 'pagefind-ui.css') + : undefined, + pagefindJs: this.siteConfig.enableSearch + ? path.posix.join(this.siteConfig.baseUrl || '/', 'pagefind', 'pagefind-ui.js') + : undefined, + pagefindScript: this.siteConfig.enableSearch + ? getPagefindScript() + : undefined, }, baseUrlMap: this.baseUrlMap, dev: this.dev, @@ -535,6 +545,10 @@ export class Site { await this.copyOcticonsAsset(); await this.copyMaterialIconsAsset(); await this.writeSiteData(); + + if (this.siteConfig.enableSearch) { + await this.indexSiteWithPagefind(); + } this.calculateBuildTimeForGenerate(startTime, lazyWebsiteGenerationString); if (this.backgroundBuildMode) { this.backgroundBuildNotViewedFiles(); @@ -1576,4 +1590,33 @@ export class Site { */ backgroundBuildNotViewedFiles = delay(this._backgroundBuildNotViewedFiles as () => Bluebird, 1000) as () => Bluebird; + + /** + * Indexes all the pages of the site using pagefind. + */ + async indexSiteWithPagefind() { + const startTime = new Date(); + logger.info('Creating Pagefind Search Index...'); + // TODO: Update this dynamic import to a static import when migrating to ESM + // eslint-disable-next-line no-eval + const { createIndex, close } = await (eval('import("pagefind")') as Promise); + const { index } = await createIndex({ + keepIndexUrl: true, + verbose: true, + logfile: 'debug.log', + }); + if (index) { + const { errors, page_count } = await index.addDirectory({ path: this.outputPath }); + errors.forEach(error => logger.error(error)); + + const endTime = new Date(); + const totalTime = (endTime.getTime() - startTime.getTime()) / 1000; + logger.info(`Pagefind indexed ${page_count} pages in ${totalTime}s`); + + await index.writeFiles({ outputPath: path.join(this.outputPath, 'pagefind') }); + } else { + logger.error('Pagefind failed to create index'); + } + await close(); + } }