-
Notifications
You must be signed in to change notification settings - Fork 244
Add a "Collected ABNF for IDL" appendix to spec #488
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
productionlistblocks by name - Create a
collected-productionlistdirective that requires a name (e.g., "smithy") - Create Python code to generate a standalone productionlist output for an aggregated name using a custom
collected-productionlistdirective - Add an appendix section to the spec that uses
collected-productionlist