From 1eeae39ebb9554082b0b19ff64f53642f9d7f52c Mon Sep 17 00:00:00 2001 From: Thomas Pinder Date: Thu, 1 Oct 2026 09:00:20 +0200 Subject: [PATCH] docs: send Access-Control-Allow-Origin on every docs response GitHub Pages sent "Access-Control-Allow-Origin: *" on every response; Cloudflare does not by default. Add a _headers file, shipped to the site root by html_extra_path, so tools on other sites can still read the docs' files (objects.inv, images, JSON) from a browser. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015fagcMeo1LmLG2Dg3NybmQ --- docs/_headers | 5 +++++ docs/conf.py | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 docs/_headers diff --git a/docs/_headers b/docs/_headers new file mode 100644 index 000000000..938cab441 --- /dev/null +++ b/docs/_headers @@ -0,0 +1,5 @@ +# Cloudflare static-asset headers, copied to the site root by html_extra_path. +# GitHub Pages sent this on every response. Without it, tools on other sites +# cannot read the docs' files (objects.inv, images, JSON) from a browser. +/* + Access-Control-Allow-Origin: * diff --git a/docs/conf.py b/docs/conf.py index cdf6d3bc9..357afc7b8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -313,8 +313,9 @@ html_favicon = "static/favicon.ico" # Cloudflare serves the docs with html_handling "none" (docs/wrangler.jsonc), so # a directory URL, such as / or a sphinx-reredirects stub, only serves its -# index.html through the rules in _redirects. -html_extra_path = ["_redirects"] +# index.html through the rules in _redirects. _headers adds the CORS header that +# GitHub Pages used to send. +html_extra_path = ["_redirects", "_headers"] html_theme_options = { # `accent_color` only accepts a radix ramp *name*. shibuya writes the value # verbatim into `` and its stylesheet carries