TryGhost / gatsby-plugin-advanced-sitemap

Advanced XML Sitemaps for Gatsby.js
MIT License
150 stars 0 forks source link

Make excludes more intuitive #140

Open generalpiston opened 3 years ago

generalpiston commented 3 years ago

The exclude option is incredibly unintuitive. The examples look like the following:

exclude: [
  `/dev-404-page`,
  `/404`,
  `/404.html`,
  `/offline-plugin-app-shell-fallback`,
  `/my-excluded-page`,
  /(\/)?hash-\S*/, // you can also pass valid RegExp to exclude internal tags for example
],

The above examples make it seem like /dev-404-page would either match a URI exactly or the beginning of it (ie. /dev-404-page would be rejected or /dev-404-page/.* would be rejected).

In reality, the following examples would be rejected:

That is really unintuitive.

Can it be an exact match? Or a start of URI match? Otherwise, can we add notes in the README?

AleC77 commented 3 years ago

any update about that? I am interested to this me too. For international web sites I would make something like /es/*

mrseanbaines commented 2 years ago

Super confusing. If you pass a regex, it looks like they strip the leading slash before matching against the regex 🤯

mrseanbaines commented 2 years ago

@AleC77 I am also working with a localized site and I think I have it working. I'm using regexes and omitting the leading slash (due to the above quirk). So something like:

exclude: [
    /^..\/some-path\/?$/, // exact path, with or without trailing slash (e.g. "/en/some-path" or "/en/some-path/")
    /^..\/some-path.*/, // any path that starts with this (e.g. "/en/some-path" or "/en/some-path-here")
],