fix(docs): redirect from old docs to new
This commit is contained in:
11
apps/docs/Dockerfile
Normal file
11
apps/docs/Dockerfile
Normal 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
43
apps/docs/index.js
Normal 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
12
apps/docs/package.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"express": "^4.18.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user