Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

planisphere

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

planisphere

A straightforward sitemap generator written in TypeScript.

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

🗺️ 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.

License

ISC

Keywords

sitemap

FAQs

Package last updated on 19 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts