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