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
View File
@@ -1 +1 @@
{"answers":{"anchors":[{"context":{"column_path":["Set A","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"nkm3xn5","node_hash":"21f13b21948078f64c564334e5bb180b4495edb25a79ae32aa967986a626f3d5","own_hash":"2937e2a6f14cfebd4ffd20e3d514e5cbbf0626a5c0089b7cbea817ef20782b3d","quote":{"exact":"310.0"},"rev":12,"store":"smithlab"}]},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/h6s98vg6qcyjp","format":"scienting-submission/1","id":"h4camq2b6fa0e","rev":12,"student":"s-7k2m","submitted_at":"2026-10-20T10:00:00Z"}
{"answers":{"anchors":[{"context":{"column_path":["Set A","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"nkm3xn5","node_hash":"21f13b21948078f64c564334e5bb180b4495edb25a79ae32aa967986a626f3d5","own_hash":"2937e2a6f14cfebd4ffd20e3d514e5cbbf0626a5c0089b7cbea817ef20782b3d","quote":{"exact":"310.0"},"rev":12,"store":"smithlab"}]},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/tj573y8mhap0f","format":"scienting-submission/1","id":"b479pkvhyafdh","rev":12,"student":"s-7k2m","submitted_at":"2026-10-20T10:00:00Z"}
@@ -1 +1 @@
{"answers":{"anchors":[{"context":{"column_path":["Set B","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"hw8fx4r","node_hash":"e554e4381827c90595a9083fd3a16e6cc72d0b14e52b3d86104c4b42a9f101b8","own_hash":"6356e0e8a0c4c9911e9657be9ee00e47fbe2ee6c54928d2b3d126266b19fa1e3","quote":{"exact":"305.2"},"rev":12,"store":"smithlab"}]},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/h6s98vg6qcyjp","format":"scienting-submission/1","id":"bjgg8jyxh42w9","rev":12,"student":"s-9q4p","submitted_at":"2026-10-20T10:00:00Z"}
{"answers":{"anchors":[{"context":{"column_path":["Set B","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"hw8fx4r","node_hash":"e554e4381827c90595a9083fd3a16e6cc72d0b14e52b3d86104c4b42a9f101b8","own_hash":"6356e0e8a0c4c9911e9657be9ee00e47fbe2ee6c54928d2b3d126266b19fa1e3","quote":{"exact":"305.2"},"rev":12,"store":"smithlab"}]},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/tj573y8mhap0f","format":"scienting-submission/1","id":"zw21e9386dtp2","rev":12,"student":"s-9q4p","submitted_at":"2026-10-20T10:00:00Z"}
@@ -1 +1 @@
{"answers":{"anchors":[{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"most common description of covalent","prefix":"Harmonic bond terms remain the ","suffix":" stretching in classical force f"},"rev":12,"span":[31,66],"store":"smithlab"}],"verdict":"supports"},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/y228zv031s285","format":"scienting-submission/1","id":"ncf5gq0x1xny5","rev":12,"student":"s-7k2m","submitted_at":"2026-10-20T10:05:00Z"}
{"answers":{"anchors":[{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"most common description of covalent","prefix":"Harmonic bond terms remain the ","suffix":" stretching in classical force f"},"rev":12,"span":[31,66],"store":"smithlab"}],"verdict":"supports"},"doc":"smithlab/hale2026harmonic","exercise":"urn:scienting:annotation:smithlab/shn6geqn0rhvs","format":"scienting-submission/1","id":"mk28stafpq7sp","rev":12,"student":"s-7k2m","submitted_at":"2026-10-20T10:05:00Z"}