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
@@ -41,7 +41,7 @@ An implementation states, for each format, which versions it reads and writes.
Every format has an identifier of the form `scienting-<name>/<major>`, such as `scienting-doc/1`.
The identifier tells a reader which rules apply to a file.
The prefix `scienting-` is the namespace of the formats.
The namespace is not the name of this repository, manuspec, and formats are named after what they hold.
The namespace is not the name of this repository, paperspec, and formats are named after what they hold.
A file or record that can travel on its own carries its identifier in a `format` property.
The anchor in `fixtures/records/anchor-leaf.json` begins `{"doc":"hale2026harmonic","format":"scienting-anchor/1", ...`.
+2 -2
View File
@@ -2,7 +2,7 @@
Everything people and models add to a document is an annotation, and annotations are grouped in layers.
`scienting-layer/1` is the W3C Web Annotation Data Model with the anchor as a selector, so any Web Annotation tool can read it.
The JSON-LD context is [context/scienting-1.jsonld](../context/scienting-1.jsonld), published at `https://scient.ing/ns/scienting/1.jsonld`.
The JSON-LD context is [context/scienting-1.jsonld](../context/scienting-1.jsonld), published at `https://paperspec.scient.ing/context/scienting-1.jsonld`.
## 18.1 One rule decides what is a claim and what is a layer
@@ -21,7 +21,7 @@ Each line of `annotations.jsonl` is a W3C `Annotation`:
| Property | Holds |
| --- | --- |
| `@context` | `["http://www.w3.org/ns/anno.jsonld", "https://scient.ing/ns/scienting/1.jsonld"]`. |
| `@context` | `["http://www.w3.org/ns/anno.jsonld", "https://paperspec.scient.ing/context/scienting-1.jsonld"]`. |
| `id` | `urn:scienting:annotation:<store>/<record id>` ([4.6](04-identity.md#46-record-ids)). |
| `type`, `layer` | `Annotation`, and the layer's ID. |
| `motivation` | A W3C motivation: `commenting`, `describing`, `linking`, `questioning`, `assessing`, `replying` and the others. |
+3 -3
View File
@@ -1,8 +1,8 @@
# The manuspec specification
# The paperspec specification
This specification states exactly what each manuspec file holds and how every value in it is computed.
This specification states exactly what each paperspec file holds and how every value in it is computed.
The schemas, SQL, JSON-LD context, registries, vectors and fixtures are normative too, and each chapter says which of them it relies on.
A chapter and a vector that disagree signal a bug, so please report it in the repository, <https://git.scient.ing/infra/manuspec>.
A chapter and a vector that disagree signal a bug, so please report it in the repository, <https://git.scient.ing/infra/paperspec>.
Two readers will get the most from it: implementers who build a reader, writer, converter or checker, and experts who want the precise rules.
Newcomers should start with the [guides](../docs/README.md), which explain what the formats are for.