atom/rss quickfix, CI to auto-test rss/atom correctness, and misc improvements

Blog post refinements and RSS feed validation

Changes

Blog post improvements:

  • Better URL slug: Added descriptive slug with redirect from old short URL for improved SEO
  • Updated timestamp: Changed post time from 13:59:59 to 23:59:59
  • Clarified pgBackRest purpose: Added explanation that pgBackRest is primarily a backup tool being repurposed for replica creation
  • Removed Credit paragraph: Cleaned up redundant credit section (Maxim remains as co-author in frontmatter)

RSS/Atom feed fixes:

  • Added automated feed validation to CI: New validate_feeds job runs before build/deploy
  • Validates XML syntax for rss.xml and atom.xml using xmllint
  • Validates JSON syntax for feed.json using jq
  • Saves failed feeds as artifacts for debugging
  • Fixed XML parsing errors: Changed tag "Guides & best practices" to "Guides and best practices"
  • Unescaped ampersands in tag names were causing xmlParseEntityRef errors in Atom feed

Benefits

  • Better SEO with descriptive URL containing keywords
  • Prevents broken feeds through CI validation before production
  • No breaking changes: old URL redirects to new one automatically
  • Cleaner content with removed redundant information

Files changed

  • blog/20251105-postgres-marathon-2-012.mdx
  • .ci/validate-feeds.sh (new)
  • .gitlab-ci.yml
  • docusaurus.config.js
  • src/theme/BlogSidebar/Desktop/index.tsx
  • src/theme/BlogSidebar/Mobile/index.tsx
  • 6 blog post files with updated tag names
Edited by Nikolay Samokhvalov

Merge request reports

Loading