-
Notifications
You must be signed in to change notification settings - Fork 235
Description
The ABNF for the IDL in the specification is currently defined in chunks as each feature is explored and introduced. It would be nice to add an appendix of some kind that contained the collected ABNF, similar to many RFCs.
This change requires some hackery in Sphinx to listen for productionlist blocks with a name of "smithy", aggregate the data (not HTML), and then somehow generate a section that contains the aggregate ABNF, along with unique anchors that allow jumping around the aggregate ABNF. We don't want to give them normal production treatment in Sphinx since that would result in ambiguous references in the docs. The location where the aggregate ABNF is placed likely needs a custom directive (e.g., collected-productionlist
or something with a required name).
- Create Python code to aggregate
productionlist
blocks by name - Create a
collected-productionlist
directive that requires a name (e.g., "smithy") - Create Python code to generate a standalone productionlist output for an aggregated name using a custom
collected-productionlist
directive - Add an appendix section to the spec that uses
collected-productionlist