refactor: split the repo into self-contained validator, directory, quickstart, spec and site folders

validator/ holds mewslint (lint, css, fetch, DTD/CSS data); directory/ holds
the mews.page service (app, db, check, pages, cli) and depends on validator/;
quickstart/ holds mews-quickstart and md2mews.py for third parties who want
to create Mews content without cloning the repo; spec/ consolidates doc/ and
dtd/ with the canonical mews-0.1.css; site/ becomes a Pelican project with
the forward-facing pages as Markdown, the check form kept as a raw HTML
snippet. Root pyproject.toml is now a virtual uv workspace over validator,
directory and quickstart, with cross-cutting tests that span more than one
of them staying at the repo root. Makefile and flake.nix updated to match.
This commit is contained in:
randogoth 2026-10-13 12:29:23 +03:00
parent 5fa8708bd1
commit 060d4e00fd
90 changed files with 1290 additions and 287 deletions

View file

@ -3,14 +3,15 @@
Two licenses, because this repository holds two different kinds of thing.
**The code is Apache License 2.0.** See [LICENSE](LICENSE). That covers the
validator and directory service under `mews/`, `mewslint.py`, `md2mews.py`,
`dtd/check_dtd.py`, the Pelican plugin under `pelican-mews/`, the packaging,
the tests, and the pages of the mews.page site itself under `site/`.
validator under `validator/`, the directory service under `directory/`,
the quickstart and Markdown tools under `quickstart/`, `spec/check_dtd.py`,
the Pelican plugin under `pelican-mews/`, the packaging, the tests, and the
pages of the mews.page site itself under `site/`.
**The specification is Creative Commons Attribution-ShareAlike 4.0
International.** See [doc/LICENSE](doc/LICENSE). That covers `doc/SPEC.md` and
the other prose in `doc/`. Share it, translate it, build on it; say where it
came from and pass the same terms on.
International.** See [spec/LICENSE](spec/LICENSE). That covers `spec/SPEC.md`
and the other prose in `spec/`. Share it, translate it, build on it; say where
it came from and pass the same terms on.
**The default stylesheet, `mews-0.1.css`, is Apache 2.0**, even though section
5.1 of the specification prints it in full. Section 5.2 asks every site to host
@ -19,12 +20,12 @@ condition on the pages it styles.
## Third-party files
`dtd/xhtml-mobile12.dtd` is not ours and is not under either license. It is the
XHTML Mobile Profile 1.2 driver DTD, Copyright 2008 Open Mobile Alliance Ltd.,
all rights reserved, included here under the terms printed in its own header.
It is kept in the repository for reference, as section 9.1 describes.
`spec/xhtml-mobile12.dtd` is not ours and is not under either license. It is
the XHTML Mobile Profile 1.2 driver DTD, Copyright 2008 Open Mobile Alliance
Ltd., all rights reserved, included here under the terms printed in its own
header. It is kept in the repository for reference, as section 9.1 describes.
`dtd/mews-0.1.dtd` is written by hand, but it describes a profile the Open
`spec/mews-0.1.dtd` is written by hand, but it describes a profile the Open
Mobile Alliance defined, and element and attribute names are taken from the
W3C's XHTML modularization. The file is Apache 2.0; what it describes is not
ours to license.