Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

tods-validate playground

A zero-install, zero-upload TODS validator that runs entirely in the browser via Pyodide. index.html loads Pyodide, installs the published tods-validate wheel with micropip, writes the chosen files into Pyodide's virtual filesystem, and calls validate_feed + render_html. Because nothing leaves the browser, it is safe for non-public operational data.

Test it locally before sharing it

This page needs a real browser, so it is not covered by the Python test suite (only the API it depends on is, in tests/test_playground.py). Serve the folder and open it:

python -m http.server -d web 8000
# then open http://localhost:8000

Select the files in examples/sample-feed/ to confirm a clean pass, then a feed with problems to confirm findings render. If Pyodide fails to load, update the version in the <script src=".../pyodide/vX.Y.Z/..."> tag to the current Pyodide release.

Deployment

The playground is published at https://chelseakr.github.io/tods-validate/. GitHub Pages uses the GitHub Actions build source; the manually dispatched Deploy playground workflow (.github/workflows/pages.yml) publishes this folder. Verify the live page after each deployment before sharing it.

rules/

rules/ holds one permanent HTML page per rule ID plus an index.html catalog, generated by scripts/generate_rules_doc.py from the rule registry (the same run that regenerates docs/rules.md). Do not hand-edit files here; run python scripts/generate_rules_doc.py to regenerate, and python scripts/generate_rules_doc.py --check to verify they match the registry (CI runs this). SARIF helpUri and the language server's hover text link to https://<pages-domain>/rules/<RULE_ID>.html, so these URLs are a permanence contract: filenames are the rule ID verbatim, and rule IDs are never renumbered once released.