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:
213 files changed
+1233
-386
No files matched your search
+7
-6
@@ -19,16 +19,17 @@ Two tools that read the same context agree on what `target` or `status` means, e
|
||||
`scienting-1.jsonld` is the context that makes every annotation layer valid JSON-LD, together with the W3C Web Annotation context.
|
||||
The Web Annotation context supplies `Annotation`, `body`, `target` and `selector`.
|
||||
This one supplies the terms the formats add.
|
||||
Its address is `https://scient.ing/ns/scienting/1.jsonld`.
|
||||
That address did not resolve when checked on 2026-10-14, so until it does, a JSON-LD processor needs the copy in this folder loaded in its place.
|
||||
Its address is `https://paperspec.scient.ing/context/scienting-1.jsonld`, which is this file as the project's website serves it, with the media type `application/ld+json` and a header that lets a browser fetch it from any page.
|
||||
The terms it maps are listed at `https://paperspec.scient.ing/vocab`, and each term's IRI is a fragment of that page.
|
||||
A processor that cannot reach the site loads the copy in this folder in its place.
|
||||
Every layer and every annotation lists both contexts, Web Annotation first:
|
||||
|
||||
```json
|
||||
{"@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"]}
|
||||
```
|
||||
|
||||
The `scienting-` prefix is the formats' namespace, as in `scienting-layer/1` and `scienting-anchor/1`.
|
||||
The repository's name, manuspec, is a separate matter.
|
||||
The repository's name, paperspec, is a separate matter.
|
||||
|
||||
## An example from the fixtures
|
||||
|
||||
@@ -37,7 +38,7 @@ The first is a `gloss`, an explanation for a novice, of the phrase "bond force c
|
||||
Shortened, it reads:
|
||||
|
||||
```json
|
||||
{"@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"],
|
||||
"type": "Annotation", "motivation": "describing", "status": "confirmed",
|
||||
"body": {"type": "TextualBody", "kind": "gloss", "audience": "novice",
|
||||
"value": "A *harmonic* term treats a bond like a spring: ..."},
|
||||
@@ -57,7 +58,7 @@ This context defines `kind`, `status`, `audience`, `AnchorSelector` and `anchor`
|
||||
## What it defines
|
||||
|
||||
The file defines 23 terms.
|
||||
Twenty-two map to IRIs under `https://scient.ing/ns/scienting#`: `format`, `kind`, `status`, `receipt`, `layer`, `audience`, `visibility`, `purpose`, `project`, `docs`, `pin`, `role`, `symbol`, `verdict`, `reason`, `reference`, `for`, `generator`, `exercise`, `anchor`, `rights_use` and the class `AnchorSelector`.
|
||||
Twenty-two map to IRIs under `https://paperspec.scient.ing/vocab#`: `format`, `kind`, `status`, `receipt`, `layer`, `audience`, `visibility`, `purpose`, `project`, `docs`, `pin`, `role`, `symbol`, `verdict`, `reason`, `reference`, `for`, `generator`, `exercise`, `anchor`, `rights_use` and the class `AnchorSelector`.
|
||||
Three are renamed: `for` is `sct:questionFor`, `generator` is `sct:generatedBy`, and `rights_use` is `sct:rightsUse`.
|
||||
The twenty-third, `total`, maps to `totalItems` in the ActivityStreams namespace.
|
||||
Two terms carry a type rule.
|
||||
|
||||
Reference in new issue
Block a user