Add sitemap

This commit is contained in:
Marcus Blättermann 2022-12-13 03:49:29 +01:00
parent 55a92f6a78
commit 667e2848c1
No known key found for this signature in database
GPG Key ID: A1E1F04008AC450D
5 changed files with 70 additions and 4 deletions

3
website/.gitignore vendored
View File

@ -37,3 +37,6 @@ next-env.d.ts
!.vscode/extensions.json
!public
public/robots.txt
public/sitemap*

View File

@ -0,0 +1,10 @@
import { siteUrl } from './meta/dynamicMeta.mjs'
/** @type {import('next-sitemap').IConfig} */
const config = {
siteUrl,
generateRobotsTxt: true,
autoLastmod: false,
}
export default config

View File

@ -26,6 +26,7 @@
"md-attr-parser": "^1.3.0",
"next": "13.0.2",
"next-mdx-remote": "^4.2.0",
"next-sitemap": "^3.1.32",
"parse-numeric-range": "^1.3.0",
"prettier": "^2.7.1",
"prismjs": "^1.29.0",
@ -67,6 +68,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/@eslint/eslintrc": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
@ -5902,6 +5908,31 @@
"react-dom": ">=16.x <=18.x"
}
},
"node_modules/next-sitemap": {
"version": "3.1.32",
"resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-3.1.32.tgz",
"integrity": "sha512-jkIKpwLXpWWTPfmDO46+6nu4+qpar4CjvUwCR9rYZHWtzE/wFfaCVFKpGtFMl6MFjpu8GjiE6kWFEa7uF3bzzg==",
"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/node-releases": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
@ -8537,6 +8568,11 @@
"regenerator-runtime": "^0.13.10"
}
},
"@corex/deepmerge": {
"version": "4.0.29",
"resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.29.tgz",
"integrity": "sha512-q/yVUnqckA8Do+EvAfpy7RLdumnBy9ZsducMUtZTvpdbJC7azEf1hGtnYYxm0QfphYxjwggv6XtH64prvS1W+A=="
},
"@eslint/eslintrc": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
@ -12751,6 +12787,15 @@
"vfile-matter": "^3.0.1"
}
},
"next-sitemap": {
"version": "3.1.32",
"resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-3.1.32.tgz",
"integrity": "sha512-jkIKpwLXpWWTPfmDO46+6nu4+qpar4CjvUwCR9rYZHWtzE/wFfaCVFKpGtFMl6MFjpu8GjiE6kWFEa7uF3bzzg==",
"requires": {
"@corex/deepmerge": "^4.0.29",
"minimist": "^1.2.6"
}
},
"node-releases": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",

View File

@ -4,8 +4,9 @@
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build && next export",
"build": "next build && npm run sitemap && next export",
"prebuild": "pip install -r setup/requirements.txt && sh setup/setup.sh",
"sitemap": "next-sitemap --config next-sitemap.config.mjs",
"start": "next start",
"lint": "next lint",
"prettier": "prettier . --write"
@ -29,6 +30,7 @@
"md-attr-parser": "^1.3.0",
"next": "13.0.2",
"next-mdx-remote": "^4.2.0",
"next-sitemap": "^3.1.32",
"parse-numeric-range": "^1.3.0",
"prettier": "^2.7.1",
"prismjs": "^1.29.0",

View File

@ -1,12 +1,18 @@
import '../src/styles/layout.sass'
import type { AppProps } from 'next/app'
import Head from 'next/head'
import { MDXProvider } from '@mdx-js/react'
import { remarkComponents } from '../src/remark'
export default function App({ Component, pageProps }: AppProps) {
return (
<MDXProvider components={remarkComponents}>
<Component {...pageProps} />
</MDXProvider>
<>
<Head>
<link rel="sitemap" type="application/xml" href="/sitemap.xml" />
</Head>
<MDXProvider components={remarkComponents}>
<Component {...pageProps} />
</MDXProvider>
</>
)
}