docs: move the tool instructions to a getting started page and publish every site page

This commit is contained in:
randogoth 2026-10-13 13:04:25 +03:00
parent 060d4e00fd
commit 2bc69c039f
5 changed files with 56 additions and 31 deletions

View file

@ -9,14 +9,13 @@ site:
rm -rf build
mkdir -p build/spec build/dtd
cd site && uv run pelican content
cp site/output/index.html site/output/check.html build/
cp site/output/*.html build/
cp site/output/mews-0.1.css build/mews-0.1.css
cp spec/mews-0.1.css build/spec/mews-0.1.css
cp spec/mews-0.1.dtd spec/xhtml-mobile12.dtd build/dtd/
uv run --script quickstart/md2mews.py spec/SPEC.md -o build/spec/0.1.html \
--lang en --variant mews-cool --description "$(SPEC_DESCRIPTION)"
uv run mewslint --quiet build/index.html build/check.html \
build/spec/0.1.html
uv run mewslint --quiet build/*.html build/spec/0.1.html
@echo "site built in build/"
test:

View file

@ -137,7 +137,7 @@
chmod -R u+w site-src
${siteBuilder}/bin/pelican site-src/content -o pelican-output \
-s site-src/pelicanconf.py
cp pelican-output/index.html pelican-output/check.html $out/
cp pelican-output/*.html $out/
cp pelican-output/mews-0.1.css $out/mews-0.1.css
cp pelican-output/mews-0.1.css $out/spec/mews-0.1.css
@ -149,8 +149,7 @@
-o $out/spec/0.1.html --lang en --variant mews-cool \
--description ${lib.escapeShellArg specDescription}
${app}/bin/mewslint --quiet \
$out/index.html $out/check.html $out/spec/0.1.html
${app}/bin/mewslint --quiet $out/*.html $out/spec/0.1.html
'';
}
);

View file

@ -4,6 +4,8 @@ Description: Check a page against Mews Profile 0.1, and add your site to the dir
# Check a page
[The Mews](/) · [Directory](/directory) · [Get started](/quickstart) · [Specification](/spec/0.1)
Paste an address. The checker validates the page against the [Mews DTD](/dtd/mews-0.1.dtd), reads your stylesheet and up to twenty images, and lists every rule it breaks with the section of the spec that explains it.
<form action="/result" method="post">
@ -15,20 +17,11 @@ Paste an address. The checker validates the page against the [Mews DTD](/dtd/mew
</fieldset>
</form>
**Check page** reports and keeps nothing. **Check and list** also puts your site in the <a href="/directory" accesskey="4">directory</a> if the page passes. Either way it takes up to a minute, with no progress bar, because that would want JavaScript. Leave this page open and put the kettle on.
- **Check page** just returns the validator's report.
## Doing it yourself
- **Check and list** also puts your site in the <a href="/directory" accesskey="4">directory</a> if the page passes.
The same checks run on the command line, which is quicker while you are still fixing things:
<pre>uvx --from git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=validator \
mewslint https://example.com/</pre>
It reads local files too, so you can check a page before publishing it. This site's own build refuses to produce mews.page if any of its pages stops conforming. That seemed only fair.
## What gets listed
One page per site, the one you submit, and nobody reviews it: it passes or it doesn't. Listed sites are rechecked every week, and there is no address to warn you at. No account, no password to forget, and no warning either.
Either way it takes up to a minute, with no progress bar, because that would want JavaScript. Leave this page open and put the kettle on.
<hr />

View file

@ -4,7 +4,7 @@ Description: A quiet corner of the web, built on a standard that was already cut
# the mews
[Directory](/directory) &nbsp;·&nbsp; [Specification](/spec/0.1)
[Directory](/directory) · [Get started](/quickstart) · [Specification](/spec/0.1)
The web is a loud place now. Pages track you, shout at you, and weigh magnitudes more than the words they carry.
@ -18,18 +18,7 @@ The [IndieWeb](https://indieweb.org/), small web, and alternative protocols like
To get listed, publish a site that conforms to the doctype, avoids script tags, nested tables, divs, and other unsupported elements and only embeds the <a href="/mews-0.1.css" accesskey="4">mews-0.1.css</a> stylesheet. Validate and submit it [here](/check). Done.
## Get started
Check this [sample page](https://code.randogoth.com/randogoth/mews.page/src/branch/main/sample/sample.html) with one of every element a mews page can hold and the [validator](/check) that tells you for any address exactly what it breaks and why.
For a simple way to create compatible content there's a [Python script](https://code.randogoth.com/randogoth/mews.page/src/branch/main/quickstart/md2mews.py) that converts from a Markdown file. If you want a real blog engine, here's a [uvx](https://github.com/astral-sh/uv) powered quickstart script that writes a project folder, installs the [Pelican](https://getpelican.com/) static site generator together with our [pelican-mews](https://code.randogoth.com/randogoth/mews.page/src/branch/main/pelican-mews) plugin, and leaves you a first post to edit:
<pre>uvx --from git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=quickstart \
mews-quickstart mysite
cd mysite
uv run pelican content</pre>
The pages land in `output/` as plain HTML that any web server will serve as valid *mews* pages.
A quickstart guide on how to create content can be found on our [Get started](/quickstart) page.
## Get in touch

View file

@ -0,0 +1,45 @@
Title: Getting Started
Slug: quickstart
Description: Check pages on your own machine and create Mews content with Markdown or Pelican.
# Get started
[The Mews](/) · [Directory](/directory) · [Specification](/spec/0.1)
Check this [sample page](https://code.randogoth.com/randogoth/mews.page/src/branch/main/sample/sample.html) with one of every element a mews page can hold and the [validator](/check) 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:
<pre>uvx --from git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=validator \
mewslint https://example.com/</pre>
Without [uv](https://github.com/astral-sh/uv), install it with pip (Python 3.12 or later):
<pre>
pip install "git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=validator"
mewslint https://example.com/</pre>
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](https://code.randogoth.com/randogoth/mews.page/src/branch/main/quickstart/md2mews.py) that converts from a Markdown file. If you want a real blog engine, here's a [uv](https://github.com/astral-sh/uv) powered quickstart script that writes a project folder, installs the [Pelican](https://getpelican.com/) static site generator together with our [pelican-mews](https://code.randogoth.com/randogoth/mews.page/src/branch/main/pelican-mews) plugin, and leaves you a first post to edit:
<pre>uvx --from git+https://code.randogoth.com/randogoth/mews.page.git#subdirectory=quickstart \
mews-quickstart mysite
cd mysite
uv run pelican content</pre>
Without [uv](https://github.com/astral-sh/uv), the same with pip:
<pre>
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</pre>
The pages land in `output/` as plain HTML that any web server will serve as valid *mews* pages.