Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ekoeryanto/vuepress-plugin-sitemap
Sitemap generator plugin for vuepress.
https://github.com/ekoeryanto/vuepress-plugin-sitemap
generator plugin seo sitemap vuepress
Last synced: about 8 hours ago
JSON representation
Sitemap generator plugin for vuepress.
- Host: GitHub
- URL: https://github.com/ekoeryanto/vuepress-plugin-sitemap
- Owner: ekoeryanto
- License: mit
- Created: 2018-09-28T18:55:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-20T06:52:21.000Z (over 1 year ago)
- Last Synced: 2025-02-01T03:16:03.021Z (2 days ago)
- Topics: generator, plugin, seo, sitemap, vuepress
- Language: JavaScript
- Homepage:
- Size: 141 KB
- Stars: 93
- Watchers: 4
- Forks: 19
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# vuepress-plugin-sitemap
Sitemap generator plugin for vuepress.
## Install
* Yarn
```sh
yarn add vuepress-plugin-sitemap
```* NPM
```sh
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
```js
// .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
```sh
./node_modules/.bin/vuepress -d "dist"
./node_modules/.bin/vuepress-sitemap -H "https://pake.web.id" -d "dist"
```2. NPM Script
```ts
{
scripts: {
build: "vuepress build docs -d dist",
postbuild: "vuepress-sitemap -H https://pake.web.id -d dist"
}
}
```## Options
```yml
hostname:
type: string
required: true
default: null
description: website root url
example: https://pake.web.idoutFile:
type: string
required: false
default: sitemap.xml
description: sitemap file name
example: sitemap.txturls:
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()
```## 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
```yml
---
sitemap:
exclude: false
changefreq: hourly
---
# Content Updated Frequently
```**Note:**
Other options of [sitemap](https://npm.im/sitemap) can be used, all options passed except `urls`, `hostname`, `cacheTime`, `xslUrl`, `xmlNs` and `outFile` will be passed to `sitemap.createSitemap` constructor.## Related Plugins
* [Server Push Links Generator](https://github.com/ekoeryanto/vuepress-plugin-server-push)
## Credits
* [JetBrains s.r.o](https://www.jetbrains.com/?from=vuepress-plugin-sitemap)