feat: rename to paperspec and add the website

- Rename manuspec to paperspec everywhere outside pixi.toml: prose, the
  tools, provenance tool names and the fixture key derivations, so every
  fixture and vector is rebuilt.
- Move the namespace addresses under the site, mirroring the repository:
  schema $id https://paperspec.scient.ing/schemas/<file>, the JSON-LD
  context https://paperspec.scient.ing/context/scienting-1.jsonld, and
  term IRIs https://paperspec.scient.ing/vocab#<term>. Format
  identifiers (scienting-*) and URNs (urn:scienting:) are unchanged.
- tools/site.py (standard library only) builds _site/: every file of the
  repository at its own path, each Markdown file rendered as a page with
  sidebar navigation, heading anchors matching the forge's, folder
  listings, a vocabulary page for the context's IRIs, a heading search
  and a 404 page; light and dark themes.
- check.py builds the site and checks that every Markdown file has a
  page, every internal link and fragment resolves, no Markdown is left
  unrendered, and every $id, the context address and the vocabulary IRIs
  are files of the site.
- deploy/: a Caddyfile with the media types and CORS the data needs, and
  a guide; .gitea/workflows/site.yml builds on main and publishes with
  rsync when the SITE_* secrets are set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
alexmandClaude committed 2026-10-14 21:27:21 -04:00
1 parent ea0a7efa78
commit 76d76353d9
213 files changed
+1233 -386

No files matched your search

@@ -1 +1 @@
{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"9ffb946536af0b4697a2ab118967b3d36adf2bdcfa7e8d597f99828e79f632a4","size":553},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"}
{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"9ffb946536af0b4697a2ab118967b3d36adf2bdcfa7e8d597f99828e79f632a4","size":553},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"4bc7649bf6d3113f6c72b4016713654f57c8f03069632eabd1e6025c05cb9dac","size":226},{"path":"receipts.jsonl","sha256":"3f610039a8f883356201b63c9ad31afee630ebcbc0cc33bfb989a55716db85f0","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"4a6d29e8968143a4e19f485741c513245df1de77eec4ef9b3047c71db45cda22","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"}
@@ -1 +1 @@
{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]}
{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"paperspec tools/build.py"}],"tools":[{"name":"paperspec tools/build.py","version":"0.1.0"}]}
@@ -1 +1 @@
{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}}
{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"Dqfu2XGWhjV7Kfbiuawto7uczFAGERAH7viCOtkYT0+mh2VWI5CgLCcK8athzf/ps4cr++z/Ue1BC9rHn27PDA=="}}
@@ -1 +1 @@
{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"}
{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"RUiz5j+y0QwgOtsQpqXrlq+gy3c/JFnkxwvlWUNX4Ao=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"L4WMLs7xLjBLRsxS/EYpD194puMBpADybcfFEWxBkWk=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"rkzxigjCXg869PGSFAVr4EDXXRmwk+S/+wJ93lrG4dc=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"I7J1GqG5CHOc0LHYZPNNto1Me2lJUzBVn2A7GrUGbZ4=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"}