fix(docs): redirect from old docs to new

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-11-13 23:24:40 +01:00
parent b30a76165d
commit 15b1c5f82f
3 changed files with 66 additions and 0 deletions

11
apps/docs/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
FROM node:18-alpine
WORKDIR /app
COPY apps/docs/package.json package.json
RUN npm install --production
COPY apps/docs/index.js index.js
EXPOSE 3000
CMD ["node", "index.js"]

43
apps/docs/index.js Normal file
View File

@@ -0,0 +1,43 @@
const express = require('express');
const app = express();
const redirects = [
['/', 'https://openpanel.dev/'],
['/docs', 'https://openpanel.dev/docs'],
['/docs/sdks/script', 'https://openpanel.dev/docs/sdks/script'],
['/docs/sdks/web', 'https://openpanel.dev/docs/sdks/script'],
['/docs/sdks/javascript', 'https://openpanel.dev/docs/sdks/node'],
['/docs/sdks/react', 'https://openpanel.dev/docs/sdks/react'],
['/docs/sdks/nextjs', 'https://openpanel.dev/docs/sdks/nextjs'],
['/docs/sdks/remix', 'https://openpanel.dev/docs/sdks/remix'],
['/docs/sdks/vue', 'https://openpanel.dev/docs/sdks/vue'],
['/docs/sdks/astro', 'https://openpanel.dev/docs/sdks/astro'],
['/docs/sdks/react-native', 'https://openpanel.dev/docs/sdks/react-native'],
['/docs/sdks/node', 'https://openpanel.dev/docs/sdks/node'],
['/docs/sdks/express', 'https://openpanel.dev/docs/sdks/express'],
['/docs/sdks/api', 'https://openpanel.dev/docs/api/track'],
['/docs/sdks/export', 'https://openpanel.dev/docs/api/export'],
[
'/docs/self-hosting',
'https://openpanel.dev/docs/self-hosting/self-hosting',
],
];
// Handle redirects for all defined routes
redirects.forEach(([from, to]) => {
app.get(from, (req, res) => {
console.log('redirecting', {
from,
to,
});
res.redirect(302, to);
});
});
// Optional: Catch-all route for undefined routes
app.get('*', (req, res) => {
console.log('fallback redirect', req.url);
res.redirect(302, 'https://openpanel.dev/docs');
});
app.listen(3000);

12
apps/docs/package.json Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "docs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.2"
}
}