diff --git a/app/components/syntax/PrevNextLinks.tsx b/app/components/syntax/PrevNextLinks.tsx
index 529dde5..889bf7a 100644
--- a/app/components/syntax/PrevNextLinks.tsx
+++ b/app/components/syntax/PrevNextLinks.tsx
@@ -22,6 +22,10 @@ function PageLink({
href: string;
dir?: "previous" | "next";
}) {
+ const pageCategory = navigation.find((section) => {
+ return section.links.some((link) => link.href === href);
+ })!;
+
return (
@@ -31,12 +35,15 @@ function PageLink({
- {title}
-
+
+ {pageCategory.title}
+ {title}
+
+
@@ -44,12 +51,12 @@ function PageLink({
}
export function PrevNextLinks() {
- let { urlPathname } = usePageContext();
+ const { urlPathname } = usePageContext();
- let allLinks = navigation.flatMap((section) => section.links);
- let linkIndex = allLinks.findIndex((link) => link.href === urlPathname);
- let previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null;
- let nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null;
+ const allLinks = navigation.flatMap((section) => section.links);
+ const linkIndex = allLinks.findIndex((link) => link.href === urlPathname);
+ const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null;
+ const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null;
if (!nextPage && !previousPage) {
return null;
diff --git a/app/package.json b/app/package.json
index 23ab8d4..16b1535 100644
--- a/app/package.json
+++ b/app/package.json
@@ -7,10 +7,6 @@
"prod": "npm-run-all build preview"
},
"dependencies": {
- "@algolia/autocomplete-core": "^1.18.1",
- "@algolia/autocomplete-js": "^1.18.1",
- "@algolia/autocomplete-plugin-algolia-insights": "^1.18.1",
- "@algolia/autocomplete-preset-algolia": "^1.18.1",
"@fastify/middie": "^9.0.3",
"@fastify/static": "^8.1.1",
"@fontsource-variable/inter": "^5.2.5",
@@ -24,7 +20,6 @@
"@universal-middleware/core": "^0.4.4",
"@universal-middleware/fastify": "^0.5.9",
"@vitejs/plugin-react": "^4.3.4",
- "algoliasearch": "^5.23.3",
"clsx": "^2.1.1",
"fast-glob": "^3.3.3",
"fastify": "^5.2.1",
@@ -44,7 +39,6 @@
"vike-react": "^0.5.13"
},
"devDependencies": {
- "@algolia/client-search": "^5.23.3",
"@eslint/js": "^9.22.0",
"@tailwindcss/vite": "^4.0.12",
"@types/js-yaml": "^4.0.9",
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
index c70c97c..a350906 100644
--- a/app/pnpm-lock.yaml
+++ b/app/pnpm-lock.yaml
@@ -8,18 +8,6 @@ importers:
.:
dependencies:
- '@algolia/autocomplete-core':
- specifier: ^1.18.1
- version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)
- '@algolia/autocomplete-js':
- specifier: ^1.18.1
- version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)
- '@algolia/autocomplete-plugin-algolia-insights':
- specifier: ^1.18.1
- version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)
- '@algolia/autocomplete-preset-algolia':
- specifier: ^1.18.1
- version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
'@fastify/middie':
specifier: ^9.0.3
version: 9.0.3
@@ -59,9 +47,6 @@ importers:
'@vitejs/plugin-react':
specifier: ^4.3.4
version: 4.3.4(vite@6.2.6(@types/node@18.19.86)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.3))
- algoliasearch:
- specifier: ^5.23.3
- version: 5.23.3
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -114,9 +99,6 @@ importers:
specifier: ^0.5.13
version: 0.5.13(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vike@0.4.228(react-streaming@0.3.50(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.2.6(@types/node@18.19.86)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.3)))
devDependencies:
- '@algolia/client-search':
- specifier: ^5.23.3
- version: 5.23.3
'@eslint/js':
specifier: ^9.22.0
version: 9.24.0
@@ -180,84 +162,6 @@ importers:
packages:
- '@algolia/autocomplete-core@1.18.1':
- resolution: {integrity: sha512-+lOAwRkvxTt24AXNu3pT0EfCEh1ZOQkKlrgFa0Ji2jxSbY2WW3gb1k39JBPyXcCLlivdxYPXREdg8ImAF2Nw9Q==}
-
- '@algolia/autocomplete-js@1.18.1':
- resolution: {integrity: sha512-uPR+QnN7JU1nbf+m0lrLzSv/ptua72d8EcgWbKN1aacPR9xmdzmuVZoVuHW/Fypgg7ccm7/TlEX98DWnXjffpw==}
- peerDependencies:
- '@algolia/client-search': '>= 4.5.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/autocomplete-plugin-algolia-insights@1.18.1':
- resolution: {integrity: sha512-zrl5trCnSHXkBRZwo2VPw4fN5zT3DowgFR6O2Qh0gTni8HB+aQltJYVwBrFeTvZHHFKNY9Cua4Y1KNsYiJ9Rdw==}
- peerDependencies:
- search-insights: '>= 1 < 3'
-
- '@algolia/autocomplete-preset-algolia@1.18.1':
- resolution: {integrity: sha512-ifZV6vfVE9IKNdIe2+JhaBfY78LtnWnYrOFaSxJ7F45ixumSsRw7jCDoHwRxemoceHZzDpaSykSJwcy3XkTswA==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/autocomplete-shared@1.18.1':
- resolution: {integrity: sha512-vMKFYX5+SX+kIaJSMXOtj6zcMBhAWNyQJkfMrsuK38iJRTwemR23nzUE8qd3rHfWh6Iqgj89vDkf/CuOXDYllA==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/client-abtesting@5.23.3':
- resolution: {integrity: sha512-yHI0hBwYcNPc+nJoHPTmmlP8pG6nstCEhpHaZQCDwLZhdMtNhd1hliZMCtLgNnvd1yKEgTt/ZDnTSdZLehfKdA==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-analytics@5.23.3':
- resolution: {integrity: sha512-/70Ey+nZm4bRr2DcNrGU251YIn9lDu0g8xeP4jTCyunGRNFZ/d8hQAw9El34pcTpO1QDojJWAi6ywKIrUaks9w==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-common@5.23.3':
- resolution: {integrity: sha512-fkpbPclIvaiyw3ADKRBCxMZhrNx/8//6DClfWGxeEiTJ0HEEYtHlqE6GjAkEJubz4v1ioCQkhZwMoFfFct2/vQ==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-insights@5.23.3':
- resolution: {integrity: sha512-TXc5Ve6QOCihWCTWY9N56CZxF1iovzpBWBUhQhy6JSiUfX3MXceV3saV+sXHQ1NVt2NKkyUfEspYHBsTrYzIDg==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-personalization@5.23.3':
- resolution: {integrity: sha512-JlReruxxiw9LB53jF/BmvVV+c0thiWQUHRdgtbVIEusvRaiX1IdpWJSPQExEtBQ7VFg89nP8niCzWtA34ktKSA==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-query-suggestions@5.23.3':
- resolution: {integrity: sha512-GDEExFMXwx0ScE0AZUA4F6ssztdJvGcXUkdWmWyt2hbYz43ukqmlVJqPaYgGmWdjJjvTx+dNF/hcinwWuXbCug==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-search@5.23.3':
- resolution: {integrity: sha512-mwofV6tGo0oHt4BPi+S5eLC3wnhOa4A1OVgPxetTxZuetod+2W4cxKavUW2v/Ma5CABXPLooXX+g9E67umELZw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/ingestion@1.23.3':
- resolution: {integrity: sha512-Zxgmi7Hk4lI52YFphzzJekUqWxYxVjY2GrCpOxV+QiojvUi8Ru+knq6REcwLHFSwpwaDh2Th5pOefMpn4EkQCw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/monitoring@1.23.3':
- resolution: {integrity: sha512-zi/IqvsmFW4E5gMaovAE4KRbXQ+LDYpPGG1nHtfuD5u3SSuQ31fT1vX2zqb6PbPTlgJMEmMk91Mbb7fIKmbQUw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/recommend@5.23.3':
- resolution: {integrity: sha512-C9TwbT1zGwULLXGSUSB+G7o/30djacPmQcsTHepvT47PVfPr2ISK/5QVtUnjMU84LEP8uNjuPUeM4ZeWVJ2iuQ==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-browser-xhr@5.23.3':
- resolution: {integrity: sha512-/7oYeUhYzY0lls7WtkAURM6wy21/Wwmq9GdujW1MpoYVC0ATXXxwCiAfOpYL9xdWxLV0R3wjyD+yZEni+nboKg==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-fetch@5.23.3':
- resolution: {integrity: sha512-r/4fKz4t+bSU1KdjRq+swdNvuGfJ0spV8aFTHPtcsF+1ZaN/VqmdXrTe5NkaZLSztFeMqKwZlJIVvE7VuGlFtw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-node-http@5.23.3':
- resolution: {integrity: sha512-UZiTNmUBQFPl3tUKuXaDd8BxEC0t0ny86wwW6XgwfM9IQf4PrzuMpvuOGIJMcCGlrNolZDEI0mcbz/tqRdKW7A==}
- engines: {node: '>= 14.0.0'}
-
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
@@ -1288,10 +1192,6 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- algoliasearch@5.23.3:
- resolution: {integrity: sha512-0JlUaY/hl3LrKvbidI5FysEi2ggAlcTHM8AHV2UsrJUXnNo8/lWBfhzc1b7o8bK3YZNiU26JtLyT9exoj5VBgA==}
- engines: {node: '>= 14.0.0'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -1905,9 +1805,6 @@ packages:
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
- htm@3.1.1:
- resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==}
-
htmlparser2@8.0.2:
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
@@ -2433,9 +2330,6 @@ packages:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
- preact@10.26.5:
- resolution: {integrity: sha512-fmpDkgfGU6JYux9teDWLhj9mKN55tyepwYbxHgQuIxbWQzgFg5vk7Mrrtfx7xRxq798ynkY4DDDxZr235Kk+4w==}
-
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -2607,9 +2501,6 @@ packages:
scheduler@0.26.0:
resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
- search-insights@2.17.3:
- resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
-
secure-json-parse@2.7.0:
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
@@ -3056,123 +2947,6 @@ packages:
snapshots:
- '@algolia/autocomplete-core@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)
- '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- - search-insights
-
- '@algolia/autocomplete-js@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-core': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)
- '@algolia/autocomplete-preset-algolia': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
- '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
- '@algolia/client-search': 5.23.3
- algoliasearch: 5.23.3
- htm: 3.1.1
- preact: 10.26.5
- transitivePeerDependencies:
- - search-insights
-
- '@algolia/autocomplete-plugin-algolia-insights@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
- search-insights: 2.17.3
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
-
- '@algolia/autocomplete-preset-algolia@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)':
- dependencies:
- '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)
- '@algolia/client-search': 5.23.3
- algoliasearch: 5.23.3
-
- '@algolia/autocomplete-shared@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)':
- dependencies:
- '@algolia/client-search': 5.23.3
- algoliasearch: 5.23.3
-
- '@algolia/client-abtesting@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/client-analytics@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/client-common@5.23.3': {}
-
- '@algolia/client-insights@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/client-personalization@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/client-query-suggestions@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/client-search@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/ingestion@1.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/monitoring@1.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/recommend@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
- '@algolia/requester-browser-xhr@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
-
- '@algolia/requester-fetch@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
-
- '@algolia/requester-node-http@5.23.3':
- dependencies:
- '@algolia/client-common': 5.23.3
-
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
@@ -4117,22 +3891,6 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch@5.23.3:
- dependencies:
- '@algolia/client-abtesting': 5.23.3
- '@algolia/client-analytics': 5.23.3
- '@algolia/client-common': 5.23.3
- '@algolia/client-insights': 5.23.3
- '@algolia/client-personalization': 5.23.3
- '@algolia/client-query-suggestions': 5.23.3
- '@algolia/client-search': 5.23.3
- '@algolia/ingestion': 1.23.3
- '@algolia/monitoring': 1.23.3
- '@algolia/recommend': 5.23.3
- '@algolia/requester-browser-xhr': 5.23.3
- '@algolia/requester-fetch': 5.23.3
- '@algolia/requester-node-http': 5.23.3
-
ansi-regex@5.0.1: {}
ansi-regex@6.1.0: {}
@@ -4913,8 +4671,6 @@ snapshots:
hosted-git-info@2.8.9: {}
- htm@3.1.1: {}
-
htmlparser2@8.0.2:
dependencies:
domelementtype: 2.3.0
@@ -5419,8 +5175,6 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- preact@10.26.5: {}
-
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.0:
@@ -5622,8 +5376,6 @@ snapshots:
scheduler@0.26.0: {}
- search-insights@2.17.3: {}
-
secure-json-parse@2.7.0: {}
secure-json-parse@4.0.0: {}