1.0.1 • Published 3 years ago

planisphere v1.0.1

Weekly downloads
6
License
ISC
Repository
github
Last release
3 years ago

🗺️ planisphere

License Latest release Coverage status

Features

  • Generates sitemaps with associated metadata for each URL

  • Escapes problematic URLs and can append/remove trailing slashes

  • Automatically splits large sitemaps (with 50,000+ URLs) and generates the associated index

Installation

npm i planisphere

Usage

const { writeSitemaps } = require('planisphere');

writeSitemaps('dist', [
	'/',
	'/about',
	{
		loc: '/blog',
		priority: 0.9,
		changefreq: 'weekly',
	},
], {
	baseUrl: 'https://example.com',
	trailingSlash: false,
	pretty: true,
})
.then(() => console.info('sitemap successfully generated!'));

API

generateSitemaps(urls: Array<string | SitemapUrl>, options?): Array<string>

Returns an array of sitemaps contents.

Usually there will only be a single one, but if more than 50,000 URLs are provided, they will be split into several sitemaps as requested by the protocol. You should then pass the resulting array to generateSitemapsIndex().

urls

An array of strings and/or objects with the following properties:

  • loc: string: the URL (required)

  • lastmod: Date | number | string: a date string in the W3C format, a JavaScript timestamp string, a numeric timestamp or a Date object

  • changefreq: SitemapUrlChangefreq: 'always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly' or 'never'

  • priority: number | string: a multiple of 0.1 between 0.0 and 1.0 (defaults to 0.5)

options

An object with the following properties (all optional):

  • defaults: { lastmod?, changefreq?, priority? }: default values for the meta tags accompanying each URL

  • baseUrl: string: a base URL to prepend every URL with

  • trailingSlash: boolean: true to append a trailing slash to every URL, false to always remove it (if unspecified, will leave the URLs unchanged)

  • pretty: boolean: true to pretty-print the outputted XML to be human-readable

generateSitemapsIndex(files: Array<string>, options?, lastmod?): string?

Returns the contents of a sitemap index, or undefined if there is one filename or less.

files

The filenames of the sitemap(s).

lastmod

The last modification date of the sitemaps (defaults to the current timestamp).

writeSitemaps(dest: string, urls: Array<string | SitemapUrl>, options?)

Generates and write the sitemap(s) to the disk. Returns a Promise<void>.

dest

The path to the folder in which to write the generated file(s).

Changelog

See the full changelog here.

Contributing

Contributions are welcomed! Please open an issue before proposing any significant changes.

Related

License

ISC