diff --git a/.gitignore b/.gitignore index 558fa46d..37cb1e8b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ secrets dump + +/public/robots.txt +/public/sitemap-0.xml +/public/sitemap.xml diff --git a/next-sitemap.config.js b/next-sitemap.config.js new file mode 100644 index 00000000..25df31ad --- /dev/null +++ b/next-sitemap.config.js @@ -0,0 +1,5 @@ +/** @type {import('next-sitemap').IConfig} */ +module.exports = { + siteUrl: process.env.SITE_URL || 'https://abyss-lab.app', + generateRobotsTxt: true, +} diff --git a/package-lock.json b/package-lock.json index 0ddbe487..071b0e21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "html-to-image": "^1.10.6", "next": "^12.1.6", "next-i18next": "^10.1.0", + "next-sitemap": "^3.1.22", "nprogress": "^0.2.0", "open-color": "^1.9.1", "ramda": "^0.27.1", @@ -461,6 +462,11 @@ "node": ">=6.9.0" } }, + "node_modules/@corex/deepmerge": { + "version": "4.0.29", + "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.29.tgz", + "integrity": "sha512-q/yVUnqckA8Do+EvAfpy7RLdumnBy9ZsducMUtZTvpdbJC7azEf1hGtnYYxm0QfphYxjwggv6XtH64prvS1W+A==" + }, "node_modules/@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", @@ -4215,10 +4221,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "node_modules/mkdirp": { "version": "0.5.5", @@ -4329,6 +4334,31 @@ "react": ">= 16.8.0" } }, + "node_modules/next-sitemap": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-3.1.22.tgz", + "integrity": "sha512-aykbwYTNJ2GKSuxYpXgKK7m/a1Qao03ekUlsNLHvO8XuTTVZDAOe2hGcJtr2vQfXnLeZuSpNUs2IP6hCr4xVZA==", + "funding": [ + { + "url": "https://github.com/iamvishnusankar/next-sitemap.git" + } + ], + "dependencies": { + "@corex/deepmerge": "^4.0.29", + "minimist": "^1.2.6" + }, + "bin": { + "next-sitemap": "bin/next-sitemap.mjs", + "next-sitemap-cjs": "bin/next-sitemap.cjs" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@next/env": "*", + "next": "*" + } + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -6057,6 +6087,11 @@ "to-fast-properties": "^2.0.0" } }, + "@corex/deepmerge": { + "version": "4.0.29", + "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.29.tgz", + "integrity": "sha512-q/yVUnqckA8Do+EvAfpy7RLdumnBy9ZsducMUtZTvpdbJC7azEf1hGtnYYxm0QfphYxjwggv6XtH64prvS1W+A==" + }, "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", @@ -8899,10 +8934,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "mkdirp": { "version": "0.5.5", @@ -8967,6 +9001,15 @@ "react-i18next": "^11.8.13" } }, + "next-sitemap": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-3.1.22.tgz", + "integrity": "sha512-aykbwYTNJ2GKSuxYpXgKK7m/a1Qao03ekUlsNLHvO8XuTTVZDAOe2hGcJtr2vQfXnLeZuSpNUs2IP6hCr4xVZA==", + "requires": { + "@corex/deepmerge": "^4.0.29", + "minimist": "^1.2.6" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", diff --git a/package.json b/package.json index 9c5ff834..01f666bb 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "html-to-image": "^1.10.6", "next": "^12.1.6", "next-i18next": "^10.1.0", + "next-sitemap": "^3.1.22", "nprogress": "^0.2.0", "open-color": "^1.9.1", "ramda": "^0.27.1", @@ -47,6 +48,7 @@ "dev:web": "next dev -p 4000", "dev:assets": "http-server assets -p 4001 -s --cors", "build": "npm run compile:novels && next build", + "postbuild": "next-sitemap", "start": "next start", "lint": "next lint", "tsc": "tsc --watch",