Skip to content

Releases: generoi/gds-llms

v0.4.2

Choose a tag to compare

@oxyc oxyc released this 30 Oct 02:26
f926e97

What's Changed

  • fix: page-mode cache tags on query strings, narrower llms.txt flushes, network deactivation by @oxyc in #18

Full Changelog: v0.4.1...v0.4.2

v0.4.1

Choose a tag to compare

@oxyc oxyc released this 30 Oct 01:09
88153ff

What's Changed

  • fix: purge llms.txt on Kinsta, clean up on deactivate/uninstall by @oxyc in #17

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@oxyc oxyc released this 29 Oct 23:22
355431b

Breaking: markdown URLs are extensionless. /about/ → /about/md/ (front page /md/, /sv/om-oss/md/, /blog/page/2/md/; /about/md on sites without trailing slashes). The index.html.md and .md forms are gone.

Edge caches treat URLs with a file extension as static files; on Kinsta the edge cache skips them whatever the content type, so .md markdown was never edge-cached. Extensionless, it is cached like a page. (#16)

  • llms.txt tells readers about the md/ suffix; frontmatter translations and the alternate link use the new URLs.
  • A page whose own slug is md is shadowed by its parent's markdown.
  • On Kinsta only txt needs excluding from the CDN now (for llms.txt).

v0.3.1

Choose a tag to compare

@oxyc oxyc released this 29 Oct 22:47
f208088
  • llms.txt and markdown responses send Cache-Control: public, max-age=0, s-maxage=3600 (Kinsta's own policy for HTML pages) unless one is already set, and never for logged-in users or previews, so Kinsta's edge caches them like pages. Change with gds/llms/cache_control. (#15)
  • README: on Kinsta, exclude txt and md from the CDN, which otherwise caches both for a year by extension.

v0.3.0

Choose a tag to compare

@oxyc oxyc released this 29 Oct 22:25
94333c5

Breaking: now a regular plugin. Composer type wordpress-plugin instead of wordpress-muplugin: it installs into plugins/ and must be activated after updating (wp plugin activate gds-llms). Until then llms.txt and the markdown pages are off.

  • Boots on plugins_loaded (priority 0), still ahead of Polylang reading the request URL.
  • Translations load through load_plugin_textdomain(); a site's own languages/plugins/ file still takes precedence.
  • Installed into plugins/, the bundled generated translation files no longer trip sites' pint pre-commit hooks. (#14)

v0.2.0

Choose a tag to compare

@oxyc oxyc released this 29 Oct 22:14

Markdown

  • Archives and listings in content mode: blog, categories, tags, post type archives and shops get markdown built from their query (title, introduction, result count, each post with its description and price, page links). Up to 100 results per page for archives, FacetWP listings and paged Query Loops (gds/llms/markdown_per_page). (#8)
  • FacetWP facets become links to the filtered listings, with a result count. (#7)
  • Pages whose template renders a listing declare it with the new gds/llms/markdown_listing filter; sage-archive-pages answers it for mapped pages. Replaces the built-in sage-archive-pages integration. (#12)
  • Frontmatter translations: each other language's markdown URL, from Polylang. (#10)
  • Anything that is not an HTML page (PDF/SVG permalinks) gets no markdown URL. (#11)
  • Empty list items left by removed controls are dropped. (#6)

Translations

  • Finnish and Swedish bundled; core strings reused where they exist; each llms.txt built in its own language's locale. (#9)

Upgrading: sites using sage-archive-pages need it at 0a0dee5 or later for mapped pages to keep their listing in markdown.

v0.1.0

Choose a tag to compare

@oxyc oxyc released this 29 Oct 18:07
9920259

First release.

  • /llms.txt built from the site's own menus, per Polylang language, with the top of the product catalogue and a sitemap link. Cached per language and flushed on content, menu and option changes; replaces Yoast's file-based llms.txt and stands down when Rank Math's module is on.
  • Markdown version of every page at /page/index.html.md (or .md), advertised with <link rel="alternate"> and a Link header. content mode (default) converts the post content; page mode converts the rendered page's <main>. Conversion follows screen-reader semantics, and output uses Cloudflare's Markdown for Agents layout (YAML frontmatter, trailing JSON-LD, X-Markdown-Tokens).
  • robots.txt AI policy in Content Signals and IETF aipref vocabularies, with Disallow groups for crawlers of a declined use.
  • Surrogate keys via sage-cachetags when installed.

Filters and rollout notes: see the README.