You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move property metadata from YAML into inline @propdef blocks in headers
Also move property sets and actions from YAML into inline @propset,
@propsetdef, and @actiondef blocks in headers.
Consolidate property metadata (type, dimension, values, defaults, etc.)
from the separate ofx-props.yml file into @propdef YAML blocks within
each property's doxygen comment in the C headers. This keeps metadata
next to the code it describes, reducing maintenance burden.
- Add scripts/ofx_prop_utils.py: shared parser for @propdef blocks
- Migrate 182 properties across 10 headers with inline @propdef blocks
- Update gen-props.py and gen-props-doc.py to read from headers
- Delete properties section from ofx-props.yml (1348 -> 609 lines)
- Delete legacy doc generator (genPropertiesReference.py)
- Delete unused property_links Sphinx extension
- Simplify Documentation/build.sh and conf.py
This eliminates the YAML file entirely. All property metadata is now
co-located with the code it describes.
Generated C++ headers (ofxPropsMetadata.h, ofxPropsBySet.h, etc.) are
verified identical before and after migration, except for a few
additions noted during the migration, namely propset assignments and
action args for ThumbnailRender and CPURenderSupported.
The format for @propdef, @propsetdef and @actiondef sections is
documented in Documentation/README.md.
This commit also improves the generated doc sections and removes the
old out-of-date property reference.
Signed-off-by: Gary Oberbrunner <garyo@darkstarsystems.com>
@@ -9,7 +9,7 @@ The OpenFX documentation system combines several tools:
9
9
1.**Doxygen** - Parses C/C++ header files in the `include` directory to extract API documentation from comments
10
10
2.**Breathe** - A Sphinx extension that bridges Doxygen XML output with Sphinx
11
11
3.**Sphinx** - Processes ReStructured Text (.rst) files and Doxygen output to generate the final HTML documentation
12
-
4.**Python scripts** - Custom scripts like `genPropertiesReference.py`extract property definitions from source files
12
+
4.**Python scripts** - `scripts/gen-props.py` generates C++ metadata headers; `scripts/gen-props-doc.py`generates RST reference pages from inline metadata in the headers
13
13
14
14
The documentation is organized into:
15
15
-**Reference manual** - API documentation generated from Doxygen comments in the header files
@@ -43,11 +43,10 @@ cd Documentation
43
43
44
44
This script performs the following steps:
45
45
46
-
1. Generates property references using `genPropertiesReference.py`
47
-
2. Generates property documentation from YAML definitions using `scripts/gen-props-doc.py`
48
-
3. Builds Doxygen documentation from the header files
49
-
4. Uses Breathe to collect Doxygen API docs
50
-
5. Builds the final HTML documentation with Sphinx
46
+
1. Generates property and property-set RST reference pages from inline `@propdef`/`@propset` metadata using `scripts/gen-props-doc.py`
47
+
2. Builds Doxygen documentation from the header files (using `include/doxy-filter.sh` to strip metadata blocks)
48
+
3. Uses Breathe to collect Doxygen API docs
49
+
4. Builds the final HTML documentation with Sphinx
51
50
52
51
After building, you can view the documentation at:
0 commit comments