Serve the Mews Profile stylesheet from an embedded copy

mews_profile pins both the stylesheet's name and its content, so a site
never actually chooses either; leaving the file itself to be placed in
every content root by hand just gave operators a way to get it stale or
missing. The byte-for-byte copy from mews.page/spec 5.1 now ships in the
binary and resolves `mews-0.1.css` at any depth, matching how a page's
relative link to it resolves, across every protocol that can hit it.
This commit is contained in:
randogoth 2026-10-11 10:14:49 +03:00
parent c9bde15f5c
commit 3e659df9dd
8 changed files with 170 additions and 1 deletions

View file

@ -42,7 +42,7 @@ site = "smol"
HTTP and Spartan route by the hostname the request carries, falling back to `default_site`; Nex and Gopher carry none, so their listener names one site outright. Every format a listener serves must be compiled in, which `--check` reports. A `.itsybitsy.toml` in a content directory sets rendering options for that directory — `[defaults]` for all its Markdown files, `[page."name.md"]` for one — with no inheritance from parent directories. Editing it re-renders on the next request.
A site can set `mews_profile = true` to render its `xhtmlmp` and `html` output as [Mews Profile](https://mews.page/spec/) pages: the XHTML-MP 1.2 doctype, the conformance marker, the viewport tag and the default stylesheet link, with raw HTML and off-site or `data:` images dropped rather than passed through. Sites sharing one root must agree on this setting, since they share one render cache.
A site can set `mews_profile = true` to render its `xhtmlmp` and `html` output as [Mews Profile](https://mews.page/spec/) pages: the XHTML-MP 1.2 doctype, the conformance marker, the viewport tag and the default stylesheet link, with raw HTML and off-site or `data:` images dropped rather than passed through. The stylesheet itself is served from an embedded copy, at whatever path the link's `href` resolves to, so there is nothing to place in the content root. Sites sharing one root must agree on this setting, since they share one render cache.
### Formats and protocols