Get started

The Mews · Directory · Specification

Check this sample page with one of every element a mews page can hold and the validator that tells you for any address exactly what it breaks and why.

Validate locally

The same checks run on the command line, which is quicker while you are still fixing things:

uvx --from git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=validator \
    mewslint https://example.com/

Without uv, install it with pip (Python 3.12 or later):

pip install "git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=validator"
mewslint https://example.com/

It reads local files too, so you can check a page before publishing it.

Create content

For a simple way to create compatible content there's a Python script that converts from a Markdown file. If you want a real blog engine, here's a uv powered quickstart script that writes a project folder, 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#subdirectory=quickstart \
    mews-quickstart mysite
cd mysite
uv run pelican content

Without uv, the same with pip:

pip install "git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=quickstart"
mews-quickstart --no-install mysite
cd mysite
pip install pelican markdown \
    "pelican-mews @ git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=pelican-mews"
pelican content

The pages land in output/ as plain HTML that any web server will serve as valid mews pages.