Sitemap generator plugin for vuepress.
-
Yarn
yarn add vuepress-plugin-sitemap
-
NPM
npm install vuepress-plugin-sitemap
in v2.0.0, dependencies except
sitemap
are moved to peerDependencies so we need to installesm
module manually (chalk
andcommander
are already installed byvuepress
) when we use this plugin with cli method.
// .vuepress/config.js
module.exports = {
plugins: {
'sitemap': {
hostname: 'https://pake.web.id'
},
}
}
There's no plugin supported with Vuepress v0.x so we need to run it after the build process manually (or with npm postbuild
script).
-
Manual
./node_modules/.bin/vuepress -d "dist" ./node_modules/.bin/vuepress-sitemap -H "https://pake.web.id" -d "dist"
-
NPM Script
{ scripts: { build: "vuepress build docs -d dist", postbuild: "vuepress-sitemap -H https://pake.web.id -d dist" } }
hostname:
type: string
required: true
default: null
description: website root url
example: https://pake.web.id
outFile:
type: string
required: false
default: sitemap.xml
description: sitemap file name
example: sitemap.txt
urls:
type: array
required: false
default: [],
description: custom urls to append
example: [
{ url: '/place', changefreq: 'monthly' }
]
exclude:
type: array
required: false
default: [],
description: pages path to exclude
example: ['/404.html']
dateFormatter:
type: function
required: false
description: change the date format
default: time => new Date(time).toISOString()
To override global option for a specific page, we can use sitemap
key on the frontmatter,
currently we just have 2 options, they are exclude
and changefreq
.
---
sitemap:
exclude: false
changefreq: hourly
---
# Content Updated Frequently
Note:
Other options of sitemap can be used, all options passed except urls
, hostname
, cacheTime
, xslUrl
, xmlNs
and outFile
will be passed to sitemap.createSitemap
constructor.