diff --git a/apps/documentation/.gitignore b/apps/documentation/.gitignore index fd3dbb571..35bcb7373 100644 --- a/apps/documentation/.gitignore +++ b/apps/documentation/.gitignore @@ -34,3 +34,8 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# next-sitemap output +/public/sitemap.xml +/public/robots.txt +/public/sitemap-*.xml diff --git a/apps/documentation/next-sitemap.config.js b/apps/documentation/next-sitemap.config.js new file mode 100644 index 000000000..53571e850 --- /dev/null +++ b/apps/documentation/next-sitemap.config.js @@ -0,0 +1,5 @@ +/** @type {import('next-sitemap').IConfig} */ +module.exports = { + siteUrl: 'https://docs.documenso.com', // Replace with your actual site URL + generateRobotsTxt: true, // Generates robots.txt +}; diff --git a/apps/documentation/package.json b/apps/documentation/package.json index c18307c5d..db3255cab 100644 --- a/apps/documentation/package.json +++ b/apps/documentation/package.json @@ -7,7 +7,8 @@ "build": "next build", "start": "next start -p 3002", "lint:fix": "next lint --fix", - "clean": "rimraf .next && rimraf node_modules" + "clean": "rimraf .next && rimraf node_modules", + "postbuild": "next-sitemap" }, "dependencies": { "@documenso/assets": "*", @@ -26,6 +27,7 @@ "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", + "next-sitemap": "^4.2.3", "typescript": "5.6.2" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 668536527..7912423fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,6 +69,7 @@ "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", + "next-sitemap": "^4.2.3", "typescript": "5.6.2" } }, @@ -2122,6 +2123,13 @@ "node": ">=v14" } }, + "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/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -25341,6 +25349,41 @@ "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": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz",