npm.io
2.5.0 • Published 4 years ago

sitemapy

Licence
MIT
Version
2.5.0
Deps
0
Size
9 kB
Vulns
0
Weekly
0

Sitemapy

tests

Simple utility to generate sitemaps

How to use ?

npm i sitemapy

import {createSitemap} from "sitemapy"

const siteRoot = "https://github.com"

let pages = [
    {
        url: "/about", //all optional except url
        priority: 1,
        changefreq: "daily",
        lastmod: "10-04-22"
    }
]

const sitemap = createSitemap({pages, siteRoot}) //returns string of sitemap XML

Typescript


import {createSitemap} from "sitemapy"
import type {SitemapElement, SitemapConfig} from "sitemapy"

const siteRoot = "https://github.com"

let pages: Array<SitemapElement> = [
    {
        url: "/about", //all optional except url
        priority: 1,
        changefreq: "daily",
        lastmod: "10-04-22"
    }
]

const config: SitemapConfig = {pages, siteRoot}

const sitemap = createSitemap(config) //returns string of sitemap XML

Examples

With express


import axios from "axios"
import {createSitemap} from "sitemapy"

app.get("/sitemap.xml", async (req, res) => {
    const siteRoot = "https://github.com"
    const {data} = await axios.get("/api/sitemapData")

    const sitemap = createSitemap({pages: data, siteRoot})

    res.setHeader('Content-Type', 'application/xml')
    res.send(sitemap)
})

Breaking changes on sitemapy versions >=2.4.0

In versions prior to 2.4.0, urls would already have the starting slash prefixed. Now that is left for the user to define themselves, it makes more sense.

Prior to 2.4.0

const url = "about";

Would result in "https://example.com/about"

After and including version 2.4.0

const url = "/about";

Would result in "https://example.com/about"

Keywords