From 21c38b524283f27562755d7535ba82e35704f5fc Mon Sep 17 00:00:00 2001 From: Nikolay Gagarinov Date: Wed, 12 Nov 2025 00:15:22 +0500 Subject: [PATCH] add local search --- docs/project-work/avtoproverka-proektov.md | 2 + docusaurus.config.ts | 25 +- package-lock.json | 429 +++++++++++++++++++++ package.json | 1 + 4 files changed, 456 insertions(+), 1 deletion(-) diff --git a/docs/project-work/avtoproverka-proektov.md b/docs/project-work/avtoproverka-proektov.md index 51a50d9..0fb87b6 100644 --- a/docs/project-work/avtoproverka-proektov.md +++ b/docs/project-work/avtoproverka-proektov.md @@ -1,5 +1,7 @@ --- title: "Автопроверка проектов" +tags: + - Проекты --- [Перейти на сайт](https://ru.hexlet.io) diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 3aafa23..bdd92c9 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -10,7 +10,30 @@ const config: Config = { favicon: 'img/favicon.ico', plugins: [ - "@orama/plugin-docusaurus-v3", + [ + require.resolve("@cmfcmf/docusaurus-search-local"), + { + indexDocs: true, + indexDocSidebarParentCategories: 2, + includeParentCategoriesInPageTitle: false, + indexBlog: false, + indexPages: false, + language: ["ru", "en"], + style: undefined, + maxSearchResults: 10, + + // lunr.js-specific settings + lunr: { + tokenizerSeparator: /[\s\-.,!?:;()]+/, // чуть более "мягкое" разделение слов + b: 0.6, // лёгкое снижение нормализации по длине, чтобы длинные статьи не терялись + k1: 1.2, // чуток усиливаем вклад совпадений редких терминов + titleBoost: 6, // совпадения в заголовках по-прежнему самые важные + contentBoost: 1.8, // усиливаем вклад основного текста статьи + tagsBoost: 3, // снижаем вклад тегов, чтобы они не перегружали выдачу + parentCategoriesBoost: 1.5, // навигационные категории влияют мягче + } + } + ], ], // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future diff --git a/package-lock.json b/package-lock.json index 46546e9..70bfc36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "my-website", "version": "0.0.0", "dependencies": { + "@cmfcmf/docusaurus-search-local": "^2.0.1", "@docusaurus/core": "3.9.2", "@docusaurus/preset-classic": "3.9.2", "@mdx-js/react": "^3.1.1", @@ -123,6 +124,55 @@ "@algolia/autocomplete-shared": "1.19.2" } }, + "node_modules/@algolia/autocomplete-js": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-js/-/autocomplete-js-1.19.4.tgz", + "integrity": "sha512-ZkwsuTTIEuw+hbsIooMrNLvTVulUSSKqJT3ZeYYd//kA5fHaFf2/T0BDmd9qSGxZRhT5WS8AJYjFARLmj5x08g==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.19.4", + "@algolia/autocomplete-preset-algolia": "1.19.4", + "@algolia/autocomplete-shared": "1.19.4", + "htm": "^3.1.1", + "preact": "^10.13.2" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.5.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-js/node_modules/@algolia/autocomplete-core": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.4.tgz", + "integrity": "sha512-yVwXLrfwQ3dAndY12j1pfa0oyC5hTDv+/dgwvVHj57dY3zN6PbAmcHdV5DOOdGJrCMXff+fsPr8G2Ik8zWOPTw==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.19.4", + "@algolia/autocomplete-shared": "1.19.4" + } + }, + "node_modules/@algolia/autocomplete-js/node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.4.tgz", + "integrity": "sha512-K6TQhTKxx0Es1ZbjlAQjgm/QLDOtKvw23MX0xmpvO7AwkmlmaEXo2PwHdVSs3Bquv28CkO2BYKks7jVSIdcXUg==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.19.4" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-js/node_modules/@algolia/autocomplete-shared": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.4.tgz", + "integrity": "sha512-V7tYDgRXP0AqL4alwZBWNm1HPWjJvEU94Nr7Qa2cuPcIAbsTAj7M/F/+Pv/iwOWXl3N7tzVzNkOWm7sX6JT1SQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, "node_modules/@algolia/autocomplete-plugin-algolia-insights": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz", @@ -135,6 +185,29 @@ "search-insights": ">= 1 < 3" } }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.19.4.tgz", + "integrity": "sha512-WhX4mYosy7yBDjkB6c/ag+WKICjvV2fqQv/+NWJlpvnk2JtMaZByi73F6svpQX945J+/PxpQe8YIRBZHuYsLAQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.19.4" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia/node_modules/@algolia/autocomplete-shared": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.4.tgz", + "integrity": "sha512-V7tYDgRXP0AqL4alwZBWNm1HPWjJvEU94Nr7Qa2cuPcIAbsTAj7M/F/+Pv/iwOWXl3N7tzVzNkOWm7sX6JT1SQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, "node_modules/@algolia/autocomplete-shared": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz", @@ -145,6 +218,36 @@ "algoliasearch": ">= 4.9.1 < 6" } }, + "node_modules/@algolia/autocomplete-theme-classic": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.19.4.tgz", + "integrity": "sha512-/qE8BETNFbul4WrrUyBYgaaKcgFPk0Px9FDKADnr3HlIkXquRpcFHTxXK16jdwXb33yrcXaAVSQZRfUUSSnxVA==", + "license": "MIT" + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.25.3.tgz", + "integrity": "sha512-J0vrnbIYmDIf9d9qQwBXaHn10VoQ/rA+2iBMr/idfsjHhL9I4h2pC9Dj1i0ggDLv9sPajbeVVh0BdC+mDbo7Tw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.25.3.tgz", + "integrity": "sha512-dDls2jhGFdkGnoKwXADBnjosHKdKiwlY+tzaua5J0q9XJptn6DCBDUt3pg46GhTRz+64x08M+dyp8nNoV+3/Jw==", + "license": "MIT" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.25.3.tgz", + "integrity": "sha512-6u/fVDr3ZIJIgtqdgUDB5kL9KcOdowmxf052bjfI1XhFTpxmIa49HcAEh1y2R0YqmmNDQHaPCT0QzwkINhWbug==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.3" + } + }, "node_modules/@algolia/client-abtesting": { "version": "5.40.1", "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.40.1.tgz", @@ -160,6 +263,38 @@ "node": ">= 14.0.0" } }, + "node_modules/@algolia/client-account": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.25.3.tgz", + "integrity": "sha512-TkSVT5+davX4Dzt3gyEJ+SAfaVT5bHrZctAiup/AGPV7sNBigv4kuZv40OEbMMgu1uPJ4zw3tA39Oj/mOjd6gg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.3.tgz", + "integrity": "sha512-ExRdFnJDe7t1/DgJUsqjzZKeI9gkLft4oVttlyTMru8TRNWA6eZ0wHRj4uQ9N3sxmzPiw3C53wigor705n1yQw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.3.tgz", + "integrity": "sha512-GFA99zL6cfNSDEDHfEJ0TmVYmXCJofQpForFhCShQLfRQgBYud9UBHOh4LB6ZSzmtVDIfP33joCA9hxQWPIbFw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, "node_modules/@algolia/client-analytics": { "version": "5.40.1", "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.40.1.tgz", @@ -265,6 +400,21 @@ "node": ">= 14.0.0" } }, + "node_modules/@algolia/logger-common": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.25.3.tgz", + "integrity": "sha512-RrlmuHNTc9CIgykWh37QduDAkpX4745KQ75I+vhgT5ER3BBykaYByDTyWkyFSSlZjpDHXtOymu9epNbI5V6OWQ==", + "license": "MIT" + }, + "node_modules/@algolia/logger-console": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.25.3.tgz", + "integrity": "sha512-s8AtfF9W+6Pbxfwkmzywd8ThVJ04D4JZlNyBdCuWpC5b3jzx1JAXT9ZL8K2faUsO4rEdHpy9LXMURvF7cQAE0w==", + "license": "MIT", + "dependencies": { + "@algolia/logger-common": "4.25.3" + } + }, "node_modules/@algolia/monitoring": { "version": "1.40.1", "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.40.1.tgz", @@ -307,6 +457,12 @@ "node": ">= 14.0.0" } }, + "node_modules/@algolia/requester-common": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.25.3.tgz", + "integrity": "sha512-n5dJA5jlIle5IQavlDWBXC46lw/VuwFbbknWJcPiJ6nJ6lRllpLOhV2ZJeUdCvRyg/6zG18h+9+Q/m2d/vLEIw==", + "license": "MIT" + }, "node_modules/@algolia/requester-fetch": { "version": "5.40.1", "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.40.1.tgz", @@ -331,6 +487,17 @@ "node": ">= 14.0.0" } }, + "node_modules/@algolia/transporter": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.25.3.tgz", + "integrity": "sha512-2yji+TKjC1uOxhJ9pCdw7lQm6GSiQ+fMvNH4es6oz82DrBpkVHkeU49HmpyTqz8Ai9e+nW/UBz8T9+UyBul3dA==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/requester-common": "4.25.3" + } + }, "node_modules/@asamuzakjp/css-color": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.0.5.tgz", @@ -2100,6 +2267,194 @@ "node": ">=6.9.0" } }, + "node_modules/@cmfcmf/docusaurus-search-local": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cmfcmf/docusaurus-search-local/-/docusaurus-search-local-2.0.1.tgz", + "integrity": "sha512-4Gk313a+9HGetIFB9f087Qrmba5svx0zY9xZ10QKd79Nic0IsY0/JktDqFMZ51IDuL+9yIMOsdeKb313ce2mnw==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-js": "^1.8.2", + "@algolia/autocomplete-theme-classic": "^1.8.2", + "@algolia/client-search": "^4.12.0", + "algoliasearch": "^4.12.0", + "cheerio": "^1.0.0", + "clsx": "^2.0.0", + "lunr-languages": "^1.4.0", + "mark.js": "^8.11.1", + "tslib": "^2.6.3" + }, + "peerDependencies": { + "@docusaurus/core": "^3.0.0", + "nodejieba": "^2.5.0 || ^3.0.0", + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + }, + "peerDependenciesMeta": { + "nodejieba": { + "optional": true + } + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/client-analytics": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.25.3.tgz", + "integrity": "sha512-vHSU4zBaENbRjzwFYB3OQuDlKXwe+YDRgyGh1kKZhcMRDSsEBH/PGNWn+2ZmtbgrNS52TC+TJ8oUOg5wXIeISw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/client-common": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.3.tgz", + "integrity": "sha512-ExRdFnJDe7t1/DgJUsqjzZKeI9gkLft4oVttlyTMru8TRNWA6eZ0wHRj4uQ9N3sxmzPiw3C53wigor705n1yQw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/client-personalization": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.25.3.tgz", + "integrity": "sha512-ycCkQ0nWoH+sf0Gh20kk4NfJ+iUBc59ailqNCFcVl/0th1dtHF0P61IGetTsSmxVPZedDvnHop2z1ujWpYzNmw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/client-search": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.3.tgz", + "integrity": "sha512-GFA99zL6cfNSDEDHfEJ0TmVYmXCJofQpForFhCShQLfRQgBYud9UBHOh4LB6ZSzmtVDIfP33joCA9hxQWPIbFw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/recommend": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.25.3.tgz", + "integrity": "sha512-/vpXzDFLmrkcM1UOvZae8i/z8wRs2uaKKlPaHqN24ySADWKyf2zxVsDmtcaGMYzBYqYsKR1XKFvwGA5HQxaZxQ==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.3", + "@algolia/cache-common": "4.25.3", + "@algolia/cache-in-memory": "4.25.3", + "@algolia/client-common": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/logger-console": "4.25.3", + "@algolia/requester-browser-xhr": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/requester-node-http": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/requester-browser-xhr": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.25.3.tgz", + "integrity": "sha512-5ZXO55IDqXUehQKilVYU6OdUBT2XGI+JIki2UsxUkMykH4ksA9EU8YZJth1ZwEYTDC50bVSH32VCYsOFB0MUTA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/@algolia/requester-node-http": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.25.3.tgz", + "integrity": "sha512-7BXWAyVMK1Z3gT+2RPv0I48HfaIlho3nCQaB/tjziw+DdPigHRDq+xjtdzL8y+5O1g7LEdlPI9QHAgDbW/BLXw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/algoliasearch": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.25.3.tgz", + "integrity": "sha512-kgeIixgDiB+FbH1cHDFUtTNkxdJadHryF8lSPIHHQkEeUrzZA1Hi3PLL+EgNubO0dch4ALNb5G4rw+FDCv3Vbw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.3", + "@algolia/cache-common": "4.25.3", + "@algolia/cache-in-memory": "4.25.3", + "@algolia/client-account": "4.25.3", + "@algolia/client-analytics": "4.25.3", + "@algolia/client-common": "4.25.3", + "@algolia/client-personalization": "4.25.3", + "@algolia/client-search": "4.25.3", + "@algolia/logger-common": "4.25.3", + "@algolia/logger-console": "4.25.3", + "@algolia/recommend": "4.25.3", + "@algolia/requester-browser-xhr": "4.25.3", + "@algolia/requester-common": "4.25.3", + "@algolia/requester-node-http": "4.25.3", + "@algolia/transporter": "4.25.3" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/cheerio": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.12.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@cmfcmf/docusaurus-search-local/node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -9098,6 +9453,31 @@ "node": ">= 0.8" } }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/encoding-sniffer/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.18.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", @@ -11344,6 +11724,12 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/htm": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/htm/-/htm-3.1.1.tgz", + "integrity": "sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==", + "license": "Apache-2.0" + }, "node_modules/html-dom-parser": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.1.1.tgz", @@ -12692,6 +13078,18 @@ "yallist": "^3.0.2" } }, + "node_modules/lunr-languages": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz", + "integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==", + "license": "MPL-1.1" + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "license": "MIT" + }, "node_modules/markdown-extensions": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", @@ -15845,6 +16243,18 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/parse5/node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -17422,6 +17832,16 @@ "postcss": "^8.4.31" } }, + "node_modules/preact": { + "version": "10.27.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.2.tgz", + "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", @@ -23389,6 +23809,15 @@ "node": ">=0.8.0" } }, + "node_modules/undici": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", + "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/undici-types": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", diff --git a/package.json b/package.json index 129a218..80b44ff 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "typecheck": "tsc" }, "dependencies": { + "@cmfcmf/docusaurus-search-local": "^2.0.1", "@docusaurus/core": "3.9.2", "@docusaurus/preset-classic": "3.9.2", "@mdx-js/react": "^3.1.1",