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

@ -1,7 +1,7 @@
"""The page emitter, against md2mews.py's.
mews.pages repeats md2mews.page() because md2mews.py is a standalone script
with its own dependencies. This is what keeps the two in step.
directory.pages repeats md2mews.page() because md2mews.py is a standalone
script with its own dependencies. This is what keeps the two in step.
"""
import importlib.util
@ -10,14 +10,16 @@ import sys
import pytest
from mews import pages
from directory import pages
ROOT = Path(__file__).resolve().parent.parent
def load_md2mews():
"""Import md2mews.py, which is a script rather than part of the package."""
spec = importlib.util.spec_from_file_location("md2mews", ROOT / "md2mews.py")
"""Import md2mews.py, which is a script rather than part of a package."""
spec = importlib.util.spec_from_file_location(
"md2mews", ROOT / "quickstart" / "md2mews.py"
)
module = importlib.util.module_from_spec(spec)
sys.modules["md2mews"] = module
spec.loader.exec_module(module)