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
@@ -1,4 +1,4 @@
|
||||
# manuspec
|
||||
# paperspec
|
||||
|
||||
**The data formats for storing a team's scientific papers once, correcting them once, addressing them down to the sentence, and keeping them.**
|
||||
|
||||
@@ -6,7 +6,7 @@ This page is for three readers.
|
||||
A newcomer should read straight through; each term is explained where it first appears.
|
||||
The tables below point an implementer, who will write a reader, writer, converter or checker, to the chapters, test vectors and fixtures that define exact behavior.
|
||||
The sections on status and on differences give an expert in the neighboring standards the version, the maturity of each format and the comparison.
|
||||
The repository is at <https://git.scient.ing/infra/manuspec>.
|
||||
The documentation and every file of the specification are published at <https://paperspec.scient.ing>, and the repository is at <https://git.scient.ing/infra/paperspec>.
|
||||
|
||||
A research team usually cares about a few dozen papers it understands completely, not the world's literature.
|
||||
Those papers deserve better than a folder of PDFs.
|
||||
@@ -62,6 +62,7 @@ The address grammar is in [spec/06 §6.1](spec/06-anchors.md#61-addresses), and
|
||||
| [fixtures/](fixtures/README.md) | Example packages and records, deliberately broken packages, and the test keys that signed them. |
|
||||
| [tools/](tools/README.md) | The programs that build and check everything above. |
|
||||
| [docs/](docs/README.md) | Guides for people getting to know the project. |
|
||||
| [deploy/](deploy/README.md) | How the website at <https://paperspec.scient.ing> is built and served. |
|
||||
|
||||
## Try it
|
||||
|
||||
@@ -77,7 +78,8 @@ It recomputes every test vector, and it rebuilds everything and compares it byte
|
||||
Last, it loads every package into SQLite and back, and checks the prose and the links.
|
||||
Pixi lints the Markdown first.
|
||||
The run ends with `All checks pass.`
|
||||
`pixi task list` shows the other tasks: `quick`, `build`, `lint`, `load` and `validate`.
|
||||
`pixi task list` shows the other tasks: `quick`, `build`, `lint`, `load`, `validate` and `stress`.
|
||||
`pixi run python tools/site.py` builds the website into `_site/` ([deploy/](deploy/README.md)).
|
||||
|
||||
The tools need Python 3.14 and two packages, `jsonschema` and `cryptography`, which pixi installs along with markdownlint for the Markdown.
|
||||
Without pixi, install those two with pip and run `python3 tools/check.py`.
|
||||
@@ -93,7 +95,7 @@ pixi run load --sqlite lab.db fixtures/packages/hale2026harmonic
|
||||
Every format is named `scienting-<name>/<major>`, such as `scienting-doc/1` or `scienting-anchor/1`.
|
||||
The `scienting-` prefix is the formats' namespace, a separate matter from the repository's name.
|
||||
A format is named after what it holds, never after a product or a repository, and products can be renamed without touching data.
|
||||
Schemas use the identifier base `https://scient.ing/ns/schemas/`.
|
||||
Schemas use the identifier base `https://paperspec.scient.ing/schemas/`.
|
||||
[registry/formats.json](registry/formats.json) lists every format with its media type, schema, status and chapter.
|
||||
|
||||
## Status and limits
|
||||
|
||||
Reference in new issue
Block a user