# vuepress-plugin-sitemap

Sitemap generator plugin for vuepress.

# Install

  • 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 install esm module manually (chalk and commander are already installed by vuepress) when we use this plugin with cli method.

# Usage

# Vuepress v1.x

// .vuepress/config.js
module.exports = {
  plugins: {
    'sitemap': {
      hostname: 'https://pake.web.id'

# Vuepress v0.x

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).

  1. Manual

    ./node_modules/.bin/vuepress -d "dist"
    ./node_modules/.bin/vuepress-sitemap -H "https://pake.web.id" -d "dist"
  2. NPM Script

      scripts: {
        build: "vuepress build docs -d dist",
        postbuild: "vuepress-sitemap -H https://pake.web.id -d dist"

# Options

  type: string
  required: true
  default: null
  description: website root url
  example: https://pake.web.id

  type: string
  required: false
  default: sitemap.xml
  description: sitemap file name
  example: sitemap.txt

  type: array
  required: false
  default: [],
  description: custom urls to append
  example: [
    { url: '/place', changefreq: 'monthly' }

  type: array
  required: false
  default: [],
  description: pages path to exclude
  example: ['/404.html']

  type: function
  required: false
  description: change the date format
  default: time => new Date(time).toISOString()

# Frontmatter Options

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.

# Example

  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.

# Credits

Made with ❤️ by Ahmad Mostafa - @z3by