The web is a loud place now. Pages track you, shout at you, and weigh magnitudes more than the words they carry.
A mews is the lane round the back where the stables were: narrow, quiet, not on the way to anywhere. Small sites, plain words, nothing watching.
Obviously this isn't the first attempt to do so. The IndieWeb and the small web got there first, alternative protocols like Gemini, or Spartan solved it by going and building elsewhere and all of them are right. This project argues that more mellow and private web doesn't really need a new protocol that requires its own client. We already had it.
There used to be a standard that was cut back on purpose: XHTML Mobile Profile 1.2 aka. WAP 2.0 is strict XML with no frames and basic tables, because a 2008 phone couldn't afford more. Let's take out the scripts and styling too! The phones are still the excuse but this time the quiet is the point.
Authors provide structure. Readers control presentation.
For viewing mews pages in regular web browsers let's allow exactly one stylesheet, reduced colour palette, sane defaults, optimized for legibility, and you don't write it: host your own copy of mews-0.1.css on your own site and leave it alone. Dedicated reading apps let readers customize fonts and colours to suit their preferences, so they can enjoy your content in the way that works best for them.
Anyone can submit an address. The page is fetched, put through both of the spec's checks, and listed at once if it passes. Nobody reviews it.
Listed sites are checked again every week, and one whose page stops conforming is dropped. Submit the fixed page and it goes straight back in. Being unreachable buys a few days first.
The checks say nothing about what a site publishes. Write to the address below and a listing comes out.
A submission stores the address you gave, its domain, the findings, and a salted hash of your IP address for the rate limits, resalted monthly. Raw addresses are never stored.
Everything is deleted after ninety days. No cookies, nothing loaded from anywhere else, and no analytics, which given the subject matter would have been embarrassing.
In our repo you can find a sample page, with one of every element a mews page can hold. There's also md2mews.py, a script that turns Markdown into a mews page.
To get started from scratch with a real blog with more pages than you want to write by hand, here's a quickstart script for you. It writes the project, installs the Pelican static site generator together with our pelican-mews plugin, and leaves you a first post to edit:
uvx --from git+https://code.randogoth.com/randogoth/mews.page.git mews-quickstart mysite cd mysite uv run pelican content
The pages land in output/ as plain HTML that any web
server will serve as valid mews pages.
Bug reports, arguments about the spec, and sites that ought to be listed and aren't, mail me or even better, send me a smolmail:
smol://randogoth@smol.place/olrtb3y4xr73w3gxgslejz4c6klgiawdu63ms2vm3nxekonqxk3aSo: write something. Link to a neighbour. Leave the light on.