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

55
uv.lock generated
View file

@ -2,6 +2,23 @@ version = 1
revision = 3
requires-python = ">=3.12"
[manifest]
members = [
"mews",
"mews-directory",
"mews-quickstart",
]
[manifest.dependency-groups]
dev = [
{ name = "mews", editable = "validator" },
{ name = "mews-directory", editable = "directory" },
{ name = "mews-quickstart", editable = "quickstart" },
{ name = "mistune", specifier = ">=3.0" },
{ name = "pytest", specifier = ">=8.0" },
{ name = "ruff", specifier = ">=0.15" },
]
[[package]]
name = "anyio"
version = "4.15.1"
@ -201,19 +218,16 @@ wheels = [
[[package]]
name = "mews"
version = "0.1.0"
source = { editable = "." }
source = { editable = "validator" }
dependencies = [
{ name = "httpx" },
{ name = "lxml" },
{ name = "publicsuffixlist" },
{ name = "waitress" },
]
[package.dev-dependencies]
dev = [
{ name = "mistune" },
{ name = "pytest" },
{ name = "ruff" },
]
[package.metadata]
@ -221,15 +235,38 @@ requires-dist = [
{ name = "httpx", specifier = ">=0.27" },
{ name = "lxml", specifier = ">=5.0" },
{ name = "publicsuffixlist", specifier = ">=0.10" },
]
[package.metadata.requires-dev]
dev = [{ name = "pytest", specifier = ">=8.0" }]
[[package]]
name = "mews-directory"
version = "0.1.0"
source = { editable = "directory" }
dependencies = [
{ name = "mews" },
{ name = "waitress" },
]
[package.dev-dependencies]
dev = [
{ name = "pytest" },
]
[package.metadata]
requires-dist = [
{ name = "mews", editable = "validator" },
{ name = "waitress", specifier = ">=3.0" },
]
[package.metadata.requires-dev]
dev = [
{ name = "mistune", specifier = ">=3.0" },
{ name = "pytest", specifier = ">=8.0" },
{ name = "ruff", specifier = ">=0.15" },
]
dev = [{ name = "pytest", specifier = ">=8.0" }]
[[package]]
name = "mews-quickstart"
version = "0.1.0"
source = { editable = "quickstart" }
[[package]]
name = "mistune"