diff --git a/docusaurus.config.js b/docusaurus.config.js index 75f67728e..fd5c5dc86 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,4 +1,5 @@ const path = require("path"); +const platformEnterpriseVersions = require("./platform-enterprise_versions.json"); import "dotenv/config"; import platform_enterprise_latest_version from "./platform-enterprise_latest_version.js"; import { @@ -7,6 +8,14 @@ import { getSeqeraPresetOptions } from "@seqera/docusaurus-preset-seqera"; +// Build the search filter_by dynamically so old platform-enterprise versions are +// excluded automatically whenever a new version is added to versions.json. +// versions.json is ordered newest-first; index 0 is the current/latest version. +const oldEnterpriseVersionTags = platformEnterpriseVersions + .slice(1) + .map((v) => `docs-platform-enterprise-${v}`); +const searchFilterBy = `docusaurus_tag:!=[default,doc_tag_doc_list,blog_posts_list,blog_tags_posts,doc_tags_list,blog_tags_list${oldEnterpriseVersionTags.length ? `,${oldEnterpriseVersionTags.join(",")}` : ""}]`; + export default async function createConfigAsync() { const changelog = { @@ -303,11 +312,12 @@ export default async function createConfigAsync() { }, typesenseSearchParameters: { query_by: 'content,hierarchy.lvl0,hierarchy.lvl1,hierarchy.lvl2,hierarchy.lvl3', - group_by: 'url_without_anchor', + group_by: 'url', group_limit: 1, - num_typos: 1, + per_page: 20, + num_typos: 2, prioritize_exact_match: true, - filter_by: 'docusaurus_tag:!=[default,doc_tag_doc_list,blog_posts_list,blog_tags_posts,doc_tags_list,blog_tags_list]', // TODO Remove once the scraper is updated + filter_by: searchFilterBy, // Old platform-enterprise versions excluded automatically via searchFilterBy above }, contextualSearch: false, placeholder: 'Search Seqera docs...', diff --git a/package-lock.json b/package-lock.json index 970eeb971..a913ac90a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@docusaurus/faster": "^3.9.2", "@rspack/core": "^1.4.11", - "@seqera/docusaurus-preset-seqera": "^1.0.22", + "@seqera/docusaurus-preset-seqera": "^1.0.26", "image-size": "^2.0.2", "postcss-import": "^16.1.1", "postcss-loader": "^8.1.1", @@ -5785,9 +5785,9 @@ "license": "MIT" }, "node_modules/@seqera/docusaurus-preset-seqera": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/@seqera/docusaurus-preset-seqera/-/docusaurus-preset-seqera-1.0.22.tgz", - "integrity": "sha512-QxvZ/HGGPMv8eOdxu+GoS7J0ZvmEszS76bHNfS52vGy+PmEGIlCAClgkG45RhX4zPx4B+gA71+gwTcQ9+C5+Ew==", + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@seqera/docusaurus-preset-seqera/-/docusaurus-preset-seqera-1.0.26.tgz", + "integrity": "sha512-IpScJZHH3ebYmDKEpOwFN0aRQtdLQKR5TukrGg/X+UIYsrtp/1lJuieGD3MqVtPOFppyGeYhGnMSSBP/J/h9Vw==", "license": "Apache-2.0", "dependencies": { "@docusaurus/core": "3.9.2", @@ -5804,8 +5804,9 @@ "@docusaurus/theme-common": "3.9.2", "@docusaurus/theme-search-algolia": "3.9.2", "@docusaurus/types": "3.9.2", - "@seqera/docusaurus-theme-seqera": "1.0.22", + "@seqera/docusaurus-theme-seqera": "1.0.26", "@tailwindcss/oxide": "^4.1.17", + "docusaurus-plugin-llms": "^0.3.0", "docusaurus-plugin-openapi-docs": "^4.5.1", "docusaurus-remark-plugin-tab-blocks": "^3.1.0", "docusaurus-theme-openapi-docs": "^4.5.1", @@ -5824,9 +5825,9 @@ } }, "node_modules/@seqera/docusaurus-theme-seqera": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/@seqera/docusaurus-theme-seqera/-/docusaurus-theme-seqera-1.0.22.tgz", - "integrity": "sha512-uwcL2BpbbozSARVaxU0i9O4zaYpxvuqpzJvAYWDoJX9ROasqOthMPZVL6Rf6JTpglexvzaQmmhxDmgSk76/guQ==", + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@seqera/docusaurus-theme-seqera/-/docusaurus-theme-seqera-1.0.26.tgz", + "integrity": "sha512-vxOdXvXTb4x0s8JWvEQN59wpES2tpzFNjaU9P3BK7V3RmKZWvI1PnqotZgJCscKcIhMdVa7BaakAiBxkCNuBiw==", "license": "Apache-2.0", "dependencies": { "@docusaurus/core": "3.9.2", @@ -5844,6 +5845,7 @@ "@docusaurus/utils-validation": "3.9.2", "@mdx-js/react": "^3.0.0", "@tailwindcss/postcss": "^4.1.17", + "algoliasearch-helper": "^3.0.0", "clsx": "^2.0.0", "infima": "0.2.0-alpha.45", "lodash": "^4.17.21", @@ -5856,6 +5858,7 @@ "rtlcss": "^4.1.0", "tailwindcss": "^4.1.17", "tslib": "^2.6.0", + "typesense-instantsearch-adapter": "^2.0.0", "utility-types": "^3.10.0" }, "engines": { @@ -10294,6 +10297,38 @@ "node": ">=6.0.0" } }, + "node_modules/docusaurus-plugin-llms": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-llms/-/docusaurus-plugin-llms-0.3.0.tgz", + "integrity": "sha512-JuADAJA2fjTv1U4XQUoIu1LyjISDzxFhRK5HbCZiHum4HlmdPwyx8NBXsi+LfdUyjK9acbZgazGsHPhdwEZs0g==", + "license": "MIT", + "dependencies": { + "gray-matter": "^4.0.3", + "minimatch": "^9.0.3", + "yaml": "^2.8.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/core": "^3.0.0" + } + }, + "node_modules/docusaurus-plugin-llms/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/docusaurus-plugin-openapi-docs": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.7.1.tgz", diff --git a/package.json b/package.json index a059c21e2..ce744fc83 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "dependencies": { "@docusaurus/faster": "^3.9.2", "@rspack/core": "^1.4.11", - "@seqera/docusaurus-preset-seqera": "^1.0.22", + "@seqera/docusaurus-preset-seqera": "^1.0.26", "image-size": "^2.0.2", "postcss-import": "^16.1.1", "postcss-loader": "^8.1.1",