Have a list of commonly used constant names and their definition in separate files that can be references.
While https://github.com/ircv3/ircv3-specifications/issues/297 already mentions this; I'd like to just expand a bit further.
IRCv3 could benefit from a generic list of constants that can be referred to in a specification, specifically when it comes down to commonly used things like escaping values, and defining what <vendor> may be.
It'll be up for debate whether these specifications should be written as a full-on jekyll importable/includable, or whether we should use something like The RFC2119 header as a 'This document uses the key word vendor as described in https://ircv3.net/definitions/vendor'.
Care should be taken so that it does not detract reading experience, nor should it be so dynamically imported that it might be possible to forget adding an Errata to the specifications that utilise it.
Things that could be abstracted away are:
- Vendor namespace definitions
- Escaping values
My initial thought is that one way to achieve this would be to split each definition up in four files:
- An importable errata section to be used in every specification that includes that specific definition
- An importable way to include the "The key words "MUST", "MUST NOT", [...] in this document are to be interpreted as described in RFC 2119." text, with a link to where to view it.
- The, if applicable, key definition (e.g.
<vendor> ::= Any resolvable hostname) - The actual definition itself.
- A Jekyll layout that combines them all together.