Skip to content

Commit 62790b9

Browse files
authored
Merge pull request #50 from senchabot-opensource/feat/redirects-and-update
feat: add redirects for bot documentation and update VitePress version
2 parents 58e7b7d + 6891b69 commit 62790b9

2 files changed

Lines changed: 38 additions & 10 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { writeFileSync } from 'node:fs'
2-
import { resolve } from 'node:path'
1+
import { writeFileSync, mkdirSync } from 'node:fs'
2+
import { resolve, dirname } from 'node:path'
33
import { defineConfig } from 'vitepress'
44

55
const SITE_URL = 'https://docs.senchabot.com'
@@ -17,6 +17,31 @@ function generateSitemap(siteConfig: any) {
1717
writeFileSync(resolve(siteConfig.outDir, 'sitemap.xml'), sitemap)
1818
}
1919

20+
const redirects: Record<string, string> = {
21+
'/kick-bot': '/kick-bot/getting-started',
22+
'/tr/kick-bot': '/tr/kick-bot/getting-started',
23+
'/twitch-bot': '/twitch-bot/getting-started',
24+
'/tr/twitch-bot': '/tr/twitch-bot/getting-started',
25+
'/discord-bot': '/discord-bot/getting-started',
26+
'/tr/discord-bot': '/tr/discord-bot/getting-started',
27+
}
28+
29+
function generateRedirects(siteConfig: any) {
30+
for (const [from, to] of Object.entries(redirects)) {
31+
const filePath = resolve(siteConfig.outDir, from.replace(/^\//, '') + '.html')
32+
mkdirSync(dirname(filePath), { recursive: true })
33+
const html = `<!DOCTYPE html>
34+
<html lang="en">
35+
<head>
36+
<meta charset="UTF-8">
37+
<meta http-equiv="refresh" content="0; url=${to}">
38+
<link rel="canonical" href="${SITE_URL}${to}">
39+
</head>
40+
</html>`
41+
writeFileSync(filePath, html)
42+
}
43+
}
44+
2045
const structuredData = {
2146
'@context': 'https://schema.org',
2247
'@graph': [
@@ -78,7 +103,10 @@ export default defineConfig({
78103
cleanUrls: true,
79104
ignoreDeadLinks: true,
80105

81-
buildEnd: generateSitemap,
106+
buildEnd(siteConfig) {
107+
generateSitemap(siteConfig)
108+
generateRedirects(siteConfig)
109+
},
82110

83111
transformHead({ pageData, siteConfig }) {
84112
const pagePath = pageData.relativePath.replace(/\.md$/, '').replace(/\/index$/, '')
@@ -242,7 +270,7 @@ export default defineConfig({
242270
// Twitch - EN
243271
{
244272
text: 'Twitch Bot',
245-
collapsed: false,
273+
collapsed: true,
246274
items: [
247275
{
248276
text: 'Getting Started',
@@ -306,7 +334,7 @@ export default defineConfig({
306334
},
307335
{
308336
text: 'Modules',
309-
collapsed: true,
337+
collapsed: false,
310338
items: [
311339
{
312340
text: 'Live Stream Announcements',
@@ -344,7 +372,7 @@ export default defineConfig({
344372
},
345373
{
346374
text: 'Kick Bot',
347-
collapsed: false,
375+
collapsed: true,
348376
items: [
349377
{
350378
text: 'Getting Started',
@@ -410,7 +438,7 @@ export default defineConfig({
410438
// Twitch - TR
411439
{
412440
text: 'Twitch Bot',
413-
collapsed: false,
441+
collapsed: true,
414442
items: [
415443
{
416444
text: 'Başlamadan Önce',
@@ -474,7 +502,7 @@ export default defineConfig({
474502
},
475503
{
476504
text: 'Modüller',
477-
collapsed: true,
505+
collapsed: false,
478506
items: [
479507
{
480508
text: 'Canlı Yayın Duyuruları',
@@ -512,7 +540,7 @@ export default defineConfig({
512540
},
513541
{
514542
text: 'Kick Bot',
515-
collapsed: false,
543+
collapsed: true,
516544
items: [
517545
{
518546
text: 'Başlamadan Önce',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"docs:preview": "vitepress preview docs"
1313
},
1414
"devDependencies": {
15-
"vitepress": "^1.0.0-rc.10"
15+
"vitepress": "^1.6.0"
1616
},
1717
"dependencies": {
1818
"@discord-message-components/vue": "^0.2.1"

0 commit comments

Comments
 (0)