diff options
| author | Swagtoy <me@ow.swag.toys> | 2025-10-22 19:30:37 -0400 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2025-11-18 17:04:40 -0500 |
| commit | 3f1933139dd11151c2eb166a10580eb05c90955f (patch) | |
| tree | 542fe94f663ee928cba7a88a1b27037a53f88c9a /docs | |
| parent | 1e99097f9be5b64d53bc5aab5c739962d6ce4c38 (diff) | |
| download | meson-3f1933139dd11151c2eb166a10580eb05c90955f.tar.gz | |
docs: Generate functions pages
Currently meson generates a huge page for functions. For now we'll
keep compatibility with it, but it's a lot cleaner to have separate
pages as well as it makes it easier for search engines to parse as
well as sending direct links
Signed-off-by: Swagtoy <me@ow.swag.toys>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/refman/generatormd.py | 9 | ||||
| -rw-r--r-- | docs/refman/model.py | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/docs/refman/generatormd.py b/docs/refman/generatormd.py index 854712d53..ebf57fa5e 100644 --- a/docs/refman/generatormd.py +++ b/docs/refman/generatormd.py @@ -44,6 +44,7 @@ _OBJ_ID_MAP = { ObjectType.ELEMENTARY: 'elementary', ObjectType.BUILTIN: 'builtin', ObjectType.MODULE: 'module', + ObjectType.FUNCTIONS: 'functions', ObjectType.RETURNED: 'returned', } @@ -299,7 +300,7 @@ class GeneratorMD(GeneratorBase): def _write_functions(self) -> None: data = {'functions': [self._gen_func_or_method(x) for x in self.functions]} - self._write_template(data, 'root.functions') + self._write_template(data, f'root.{_OBJ_ID_MAP[ObjectType.FUNCTIONS]}') def _root_refman_docs(self) -> None: def gen_obj_links(objs: T.List[Object]) -> T.List[T.Dict[str, str]]: @@ -330,6 +331,7 @@ class GeneratorMD(GeneratorBase): self._write_template(data, 'root') self._write_template({**dummy, 'name': 'Elementary types'}, f'root.{_OBJ_ID_MAP[ObjectType.ELEMENTARY]}', 'dummy') self._write_template({**dummy, 'name': 'Builtin objects'}, f'root.{_OBJ_ID_MAP[ObjectType.BUILTIN]}', 'dummy') + self._write_functions() self._write_template({**dummy, 'name': 'Returned objects'}, f'root.{_OBJ_ID_MAP[ObjectType.RETURNED]}', 'dummy') if self.enable_modules: @@ -339,7 +341,8 @@ class GeneratorMD(GeneratorBase): def generate(self) -> None: mlog.log('Generating markdown files...') with mlog.nested(): - self._write_functions() + for fun in self.functions: + self._write_template(self._gen_func_or_method(fun), f'root.{_OBJ_ID_MAP[ObjectType.FUNCTIONS]}.{fun.name}', 'func') for obj in self.objects: if not self.enable_modules and (obj.obj_type == ObjectType.MODULE or obj.defined_by_module is not None): continue @@ -383,7 +386,7 @@ class GeneratorMD(GeneratorBase): data[f'{obj.name}.{m.name}'] = f'{obj_file}#{obj.name}{m.name}' # Functions - funcs_file = self._gen_filename('root.functions', extension='html') + funcs_file = self._gen_filename(f'root.{_OBJ_ID_MAP[ObjectType.FUNCTIONS]}', extension='html') for fn in self.functions: data[fn.name] = f'{funcs_file}#{fn.name}' diff --git a/docs/refman/model.py b/docs/refman/model.py index 51d4ca24a..1360d8959 100644 --- a/docs/refman/model.py +++ b/docs/refman/model.py @@ -78,7 +78,8 @@ class ObjectType(Enum): ELEMENTARY = 0 BUILTIN = 1 MODULE = 2 - RETURNED = 3 + FUNCTIONS = 3 + RETURNED = 4 @dataclass class Object(NamedObject, FetureCheck): |
