|
| 1 | +## Static Rendering and Web Deployment |
| 2 | + |
| 3 | +This repository contains the set of artifacts that make up the normative |
| 4 | +and non-normative sections of the Dataspace Protocol. All artifacts are |
| 5 | +bundled by the [respec framework](https://www.respec.org) which takes care |
| 6 | +of rendering a static website. |
| 7 | + |
| 8 | +### Conventions |
| 9 | + |
| 10 | +The following extensions to the basic markdown syntax are used in this |
| 11 | +specification project. Keep them handy and navigating the document will |
| 12 | +be easy. |
| 13 | + |
| 14 | +- Referencing an external specification document. [Respec Docs](https://respec.org/docs/#references-0) |
| 15 | + - with identifier inline `[[foreign-spec-id]]` |
| 16 | + - with the foreign spec's display name inline `[[[foreign-spec-id]]]` |
| 17 | + - referencing a particular section in a remote document works via ordinary markdown links. The reference has to be added to the `References` section manually (if it's not already there). |
| 18 | +- Defining terminology: A term is defined by wrapping it in `<dfn>Defineable</dfn>`. [Respec Docs](https://respec.org/docs/#definitions-and-linking) |
| 19 | +- Custom section IDs: If various sections have the same heading, they must be given a unique id manually via `{#my-custom-section-id}` that can then be used for referencing it. [Respec Docs](https://respec.org/docs/#example-specifying-a-custom-id-for-a-heading) |
| 20 | +- Referencing within the document. Please note that despite separation in multiple markdown files, there is only one html document. References to sections must be flat `(#section)` instead of path-based `../catalog/catalog.protocol.md#response-types`. |
| 21 | + - with the sections number and display name inline `[[[#my-section-id]]]` |
| 22 | + - If that's not desired, ordinary links work as well. `[my custom link](#my-section-id)` |
| 23 | + - referencing terminology: `[=Defineable=]`. This will work out of the box with Plurals such that `[=Definables=]` refers to the definition of `<dfn>Defineable</dfn>`. |
| 24 | +- Code blocks work natively like in markdown. |
| 25 | + |
| 26 | +### Rendering in your IDE |
| 27 | + |
| 28 | +1. Locally execute the commands from the [autopublish](.github/workflows/autopublish.yaml) workflow's "Copy files for correct web access" step. All resulting folders and files are duplicates, gitignored and don't break anything. |
| 29 | +2. Open the `index.html` file. |
| 30 | +3. You IDE should have a feature to display html documents (either in your browser of choice or inline). Use that and you should always see the updated webpage when saving. |
0 commit comments