npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

svelte-sitemap

v2.6.0

Published

Small helper which scans your Svelte routes folder and generates static sitemap.xml

Downloads

9,863

Readme

npm version Package License Build & Publish

Svelte sitemap.xml generator

Small helper which scans your Svelte routes and generates sitemap.xml

Install

npm install svelte-sitemap --save-dev
# yarn add svelte-sitemap --dev

Usage

Use this library as a postbuild hook in your package.json file.

File: package.json

{
  "name": "my-awesome-project",
  "scripts": {
    "postbuild": "npx svelte-sitemap --domain https://myawesomedomain.com"
  }
}

It scans your routes in build/ folder and generates build/sitemap.xml file.

Alternative usage: TypeScript or JavaScript method

Sometimes it can be useful to call the script directly from JavaScript or TypeScript. Of course there is also this option, but in most cases you will need the CLI method as a postbuild hook.

File my-script.js:

import { createSitemap } from 'svelte-sitemap/src/index.js';

createSitemap('https://example.com', { debug: true });

And now you can run your script like this: node my-script.js

⚙️ Options

| Option | Description | Default | Example | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------------------------------- | | --domain, -d | Use your domain [required] | - | -d https://mydomain.com | | --out-dir, -o | Set custom build folder | build | -o dist | | --ignore, -i | Ignore files or folders | [] | -i '**/admin/**' -i 'my-secret-page' | | --trailing-slashes, -t | Add trailing slashes | false | --trailing-slashes | | --reset-time, -r | Set lastModified time to now | false | -r | | --change-freq, -c | Set change frequency Option | - | --change-freq daily | | --help, -h | Display this usage info | - | -v | | --version, -v | Show version | - | -h | | --debug | Show some useful logs | - | --debug |

🙋 FAQ

How to exclude directory?

Let's say we want to ignore all admin folders and subfolders + just one exact page pages/my-secret-page

npx svelte-sitemap --domain https://www.example.com --ignore 'pages/my-secret-page' --ignore '**/admin/**'

Ping Google Search Console

Every time I deploy a new version, I want to inform Google that there is a new update.

See this discussion with very useful tips.

Error: Missing folder

× Folder 'build/' doesn't exist. Make sure you are using this library as 'postbuild' so 'build/' folder was successfully created before running this script.

  • Make sure your output folder exists. If it has other name than the default build, you can use the outDir (--out-dir) option.

Vercel apdatper

  • If you are using Vercel hosting and adapter-vercel you'll probably want to use it like this:
npx svelte-sitemap --out-dir .vercel/output/static --domain https://www.example.com

Or check out other solutions and join the discussion.

Error: Missing html files

× There is no static html file in your 'build/' folder. Are you sure you are using Svelte adapter-static with prerender option?

This library is intended for the static adapter and prerender option (SSG). So if there are no static files, then my library will not work for you :/

⭐️ Show your support

Give a ⭐️ if this project helped you!

Or if you are brave enough consider making a donation for some 🍺 or 🍵 ;)

🕵️ Privacy Policy

I DO NOT STORE ANY DATA. PERIOD.

I physically can't. I have nowhere to store it. I don't even have a server database to store it. So even if Justin Bieber asked nicely to see your data, I wouldn't have anything to show him.

That's why, with this library, what happens on your device stays on your device till disappear.

🤝 Contributing

I welcome you to customize this according to your needs ;)

Pull requests for any improvements would be great!

Feel free to check issues page.

Developing and debugging this library

git clone [email protected]:bartholomej/svelte-sitemap.git
cd svelte-sitemap
yarn
yarn start

Run demo locally

You can find and modify it in ./demo.ts file

yarn demo

🙏 Credits

📝 License

Copyright © 2023 Lukas Bartak

Proudly powered by nature 🗻, wind 💨, tea 🍵 and beer 🍺 ;)

All contents are licensed under the MIT license.