feat: implement automatic sitemap generation

This commit is contained in:
dyzulk
2026-01-09 16:09:50 +07:00
parent a5eebe25ee
commit 14958f7501
5 changed files with 90 additions and 0 deletions

6
next-sitemap.config.js Normal file
View File

@@ -0,0 +1,6 @@
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: 'https://docs.trustlab.dyzulk.com',
generateRobotsTxt: true,
generateIndexSitemap: false,
}

53
package-lock.json generated
View File

@@ -22,6 +22,7 @@
"@types/node": "^20.0.0", "@types/node": "^20.0.0",
"@types/react": "^18.2.0", "@types/react": "^18.2.0",
"autoprefixer": "^10.4.23", "autoprefixer": "^10.4.23",
"next-sitemap": "^4.2.3",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.17",
"typescript": "^5.0.0" "typescript": "^5.0.0"
@@ -55,6 +56,13 @@
"integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@corex/deepmerge": {
"version": "4.0.43",
"resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz",
"integrity": "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@headlessui/react": { "node_modules/@headlessui/react": {
"version": "1.7.19", "version": "1.7.19",
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz",
@@ -6369,6 +6377,16 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/mri": { "node_modules/mri": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
@@ -6544,6 +6562,41 @@
"react-dom": ">=16.0.0" "react-dom": ">=16.0.0"
} }
}, },
"node_modules/next-sitemap": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz",
"integrity": "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==",
"dev": true,
"funding": [
{
"url": "https://github.com/iamvishnusankar/next-sitemap.git"
}
],
"license": "MIT",
"dependencies": {
"@corex/deepmerge": "^4.0.43",
"@next/env": "^13.4.3",
"fast-glob": "^3.2.12",
"minimist": "^1.2.8"
},
"bin": {
"next-sitemap": "bin/next-sitemap.mjs",
"next-sitemap-cjs": "bin/next-sitemap.cjs"
},
"engines": {
"node": ">=14.18"
},
"peerDependencies": {
"next": "*"
}
},
"node_modules/next-sitemap/node_modules/@next/env": {
"version": "13.5.11",
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.11.tgz",
"integrity": "sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==",
"dev": true,
"license": "MIT"
},
"node_modules/next-themes": { "node_modules/next-themes": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz",

View File

@@ -5,6 +5,7 @@
"scripts": { "scripts": {
"dev": "next dev -p 3001", "dev": "next dev -p 3001",
"build": "next build", "build": "next build",
"postbuild": "next-sitemap",
"start": "next start" "start": "next start"
}, },
"dependencies": { "dependencies": {
@@ -22,6 +23,7 @@
"@types/node": "^20.0.0", "@types/node": "^20.0.0",
"@types/react": "^18.2.0", "@types/react": "^18.2.0",
"autoprefixer": "^10.4.23", "autoprefixer": "^10.4.23",
"next-sitemap": "^4.2.3",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.17",
"typescript": "^5.0.0" "typescript": "^5.0.0"

9
public/robots.txt Normal file
View File

@@ -0,0 +1,9 @@
# *
User-agent: *
Allow: /
# Host
Host: https://docs.trustlab.dyzulk.com
# Sitemaps
Sitemap: https://docs.trustlab.dyzulk.com/sitemap.xml

20
public/sitemap.xml Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url><loc>https://docs.trustlab.dyzulk.com</loc><lastmod>2026-01-09T09:09:34.013Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/developer</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/developer/endpoints</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/certificates/download-install</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/certificates/renewal</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/certificates/request-new</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/certificates/revocation</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/certificates/view-details</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/concepts/pki-fundamentals</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/concepts/trust-architecture</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/getting-started/access-dashboard</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/getting-started/install-root-ca</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/integrations/smime</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/integrations/web-servers</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/troubleshooting/browser-errors</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://docs.trustlab.dyzulk.com/guide/troubleshooting/developer-tools</loc><lastmod>2026-01-09T09:09:34.014Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
</urlset>