The first commit allows to lazy-load the diagrams, which should improve the loading time of the CS API on mobile. In the process it also improves the alt text of the images.
The second commit serves the diagrams as high-resolution WebPs. Encoding a high resolution diagram as WebP gives a file of approximately the same size as the lower resolution PNG. For maximum compatibility we also serve them as a lower resolution WebP and a fallback PNG. WebP was chosen because it is one of the export formats of draw.io/diagrams.net, and it is widely available in modern browsers.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Fix ToC for room versions pages
Like for the cs-module shortcode, use .RenderShortcodes
instead of .Content for the rver-fragment shortcode,
so the headings are detected by Hugo.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Change the way "this version" is detected in added-in and changed-in shortcodes
Now that we use .RenderShortcodes in the rver-fragment shortcode,
we cannot remove the output of these shortcodes dynamically
because they are replaced by a temporary placeholder due to Hugo's internals.
Instead, since the `this` parameter was only used for room version,
we always use the `v` parameter and compare with the version
provided in the page's front matter.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add version front matter for v11
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Update changelogs/room_versions/newsfragments/1884.clarification
---------
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Allow to specify a prefix for generated HTML IDs of API endpoints
Allows to deduplicate IDs of duplicate endpoints
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
---------
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add tr as child of thead in HTML tables
It is invalid HTML for th to be the direct children of thead
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Remove unnecessary HTML code end tag
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Avoid nesting p HTML elements
A p HTML element cannot contain other block elements,
so the "parent" element is closed when the first "child" one is opened.
We need to use Page.RenderString with options
to force Hugo to keep the wrapping p elements
even if the content contains a single paragraph.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add missing HTML details end tags
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Replace HTML a self-closing tag with start and end tags
The a element start and end tags are mandatory.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Replace obsolete HTML name attribute with id
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Makes it easier to use, like resolve-refs. It just needs to be called once.
Fixes an issue with m.call.* events not displaying the common fields
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Use the resolve-refs partial as soon as possible
Call it right after accessing the site.Data,
since it is recursing it will solve all references in the tree.
That way we don't need to wonder where to call it,
we trust the validators that the refs will be used in the right place.
* Enable strict $ref rule in OpenAPI validator
* Document use of $ref to compose examples
* Fix schema path in event-fields shortcode
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
... and other improvements
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
I forgot to set the `items` on an array definition, and got an extremely
opaque error. Hopefully this will improve the lives of anyone who makes a
similar mistake in future.
Replace the current stack of hugo templates with a towncrier invocation. The main advantage of this is that it means that the "Changes since last release" section is consistent with the changelogs for the actual releases.
This also changes the release process so that the changelog is generated before tagging, which means that the thing tagged v1.5 is actually the v1.5 spec.
Fixes#908.
Stick a `definition-` on the front of the autogenerated anchors for definition
blocks.
This solves a problem where, for example,
https://spec.matrix.org/unstable/application-service-api/#registration could
refer to either the "Registration" section or the `Registration` definition
therein.
(These anchors are relatively recent: they were added in #1191.
* Add CORP headers to media repo
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3828
* Write weird CSS rules to make added-in work inline in the CS spec
Even though our content doesn't need 2 paragraphs, it's good to have the capability to render it in the future.
* Remove test paragraph
* Refine prose
* spelling is key
* Remove redundant call to resolve-allof
All of the callers to resolve-additional-types already call resolve-allof (or
if not, they should), so this is redundant.
* Update `resolve-additional-types` to take a dict
I want to add more params to this, so first make it take a dict.
* `render-object-table`: take a "title" rather than a "caption"
... which means we can use the result from resolve-additional-types directly.
* render-object-table: support adding an anchor to generated tables.
* resolve-additional-types: generate an id for each returned type
* render-event: pass an anchor_base into resolve-additional-types
This means that it will generate an anchor for each type, whihc will then be
passed into render-object-table and used as an `id` for the table.
* render-operation: pass an anchor_base into resolve-additional-types
* newsfiles
* clarify federation Authorization header an add destination property
* add changelogs
* some clarifications
* more clarifications, fixes
* use HTML in the added-in/changed-in shortcodes
* Apply suggestions from code review
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Fully specify room versions
* Misc typo clarifications
* Try to clarify redactions a bit
* Update content/client-server-api/_index.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update content/rooms/v6.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update content/rooms/v6.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Better describe client considerations
* Doc template params
* Move redaction "new stuff" to v3
* Remove unhelpful sentences about "here follows unchanged stuff"
* Simplify event signing text
* Clean up handling redactions sections
* Move v4's event schema to unchanged section
* Update content/rooms/v4.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Remove extra pyprojects and update changelog docs
* Add script for rendering the changelog
* Add docs for how to release the spec
* Move legacy changelogs out of the way
* Introduce a new "added-in" template and use it on endpoints
* Use "added-in" on schema properties too
* Annotate sections of the spec with their added versions
* Demo of "added-in" on a room version (to be fleshed out)
* Use clearer versioning semantics
* Update and fix validator for Swagger custom properties
* Fix docs