Skip to content

Use storage for sitemaps#12

Merged
fidalgo merged 2 commits into
mainfrom
use-storage-for-sitemaps
May 8, 2026
Merged

Use storage for sitemaps#12
fidalgo merged 2 commits into
mainfrom
use-storage-for-sitemaps

Conversation

@fidalgo
Copy link
Copy Markdown
Contributor

@fidalgo fidalgo commented May 8, 2026

How to test

Release notes

Does this change need an explicit changelog or release-note callout beyond the PR title?

Checklist

  • PR title is a Conventional Commit and suitable for squash merge
  • Tests added/updated (if applicable)
  • Docs updated (if applicable)
  • I kept changes focused and easy to review
About the maintainers

Built by Ethos Link, the team behind Reviato.
Capture. Interpret. Act.
Turn guest feedback into clear next steps for your team. Collect private appraisals, spot patterns across reviews, and act before small issues turn into public ones.

fidalgo added 2 commits May 8, 2026 15:33
  Replace the public_path-based API with a single storage abstraction used
  by sitemap creation, formatting, validation, parsing, Google submission,
  IndexNow submission, and IndexNow key-file management.

  Add filesystem, memory, and optional Active Storage adapters. The Active
  Storage adapter does not add activestorage as a gem dependency; it only
  uses the model and attachment object supplied by the host application.

  BREAKING CHANGE: config.public_path has been removed. Configure
  config.storage instead.

  BREAKING CHANGE: config.index_now.key_path has been replaced by
  config.index_now.key_filename, and key files are read and written through
  configured storage.

  BREAKING CHANGE: Indexmap::Parser now accepts source: instead of path:.
Preserve relative sitemap storage keys instead of reducing them to basenames when parsing and validating local sitemap files. Resolve relative child sitemap locations from their parent sitemap directory so prefixed keys such as sitemaps/sitemap.xml keep working across storage backends.

Pass the XML content type when the format task rewrites sitemap files, keeping the documented custom storage write(filename, body, content_type:) interface valid.

List nested sitemap files from filesystem storage, keep IndexNow filtering aligned with configured index filenames, and add regression coverage for parser, validator, format, filesystem storage, and IndexNow behavior.

Document the upgrade path in UPGRADE.md with development and production verification steps, and link it from the README for existing applications.
@fidalgo fidalgo merged commit 4c29e92 into main May 8, 2026
4 checks passed
@fidalgo fidalgo deleted the use-storage-for-sitemaps branch May 8, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant