From 153abfda17216f7814c5a5dc2fa683f44d358b27 Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Mon, 6 Mar 2023 15:41:53 +0000 Subject: [PATCH] Use correct page-titles on Doxygen-created files. Fixes #2810 --- build.ninja | 3 ++- scripts/create_auto_ninjabuild.py | 2 +- scripts/create_build_adoc.py | 3 --- scripts/create_build_adoc_doxygen.py | 23 ++++++++++++----------- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/build.ninja b/build.ninja index c8eb52dc2a..61b5f2e55c 100644 --- a/build.ninja +++ b/build.ninja @@ -4,6 +4,7 @@ DOCUMENTATION_IMAGES_DIR = documentation/images GITHUB_EDIT_TEMPLATE = jekyll-assets/_includes/github_edit.adoc HTACCESS_EXTRA = documentation/htaccess_extra.txt +DOXYGEN_PICOSDK_INDEX_JSON = documentation/asciidoc/pico-sdk/picosdk_index.json # this corresponds to BUILD_DIR in Makefile builddir = build @@ -21,7 +22,7 @@ rule create_build_adoc command = $scripts_dir/create_build_adoc.py $documentation_index $site_config $GITHUB_EDIT_TEMPLATE $in $inc_dir $out rule create_build_adoc_doxygen - command = $scripts_dir/create_build_adoc_doxygen.py $documentation_index $site_config $in $out_dir $out + command = $scripts_dir/create_build_adoc_doxygen.py $documentation_index $site_config $in $DOXYGEN_PICOSDK_INDEX_JSON $out_dir $out rule create_build_adoc_include command = $scripts_dir/create_build_adoc_include.py $site_config $GITHUB_EDIT_TEMPLATE $in $out diff --git a/scripts/create_auto_ninjabuild.py b/scripts/create_auto_ninjabuild.py index 93f9a89461..e775b0a54e 100755 --- a/scripts/create_auto_ninjabuild.py +++ b/scripts/create_auto_ninjabuild.py @@ -190,7 +190,7 @@ def add_entire_directory(tab_dir, dir_path, pages_set, src_images, dest_images): dest = os.path.join('$out_dir', page) source = os.path.join('$src_dir', page) - extra_sources = ['$scripts_dir/create_build_adoc_doxygen.py', '$documentation_index', '$site_config'] + extra_sources = ['$scripts_dir/create_build_adoc_doxygen.py', '$documentation_index', '$site_config', '$DOXYGEN_PICOSDK_INDEX_JSON'] if source not in all_doc_sources: all_doc_sources.append(source) ninja.build(dest, 'create_build_adoc_doxygen', source, extra_sources) diff --git a/scripts/create_build_adoc.py b/scripts/create_build_adoc.py index 08afc8bb5f..253a747dc2 100755 --- a/scripts/create_build_adoc.py +++ b/scripts/create_build_adoc.py @@ -46,9 +46,6 @@ def check_no_markdown(filename): break if index_title is not None: break - elif 'from_json' in tab: - index_title = tab['title'] - break if index_title is None: raise Exception("Couldn't find title for {} in {}".format(os.path.join(output_subdir, adoc_filename), index_json)) diff --git a/scripts/create_build_adoc_doxygen.py b/scripts/create_build_adoc_doxygen.py index 0075f19e2d..abf56fa47f 100755 --- a/scripts/create_build_adoc_doxygen.py +++ b/scripts/create_build_adoc_doxygen.py @@ -26,27 +26,28 @@ def check_no_markdown(filename): index_json = sys.argv[1] config_yaml = sys.argv[2] src_adoc = sys.argv[3] - includes_dir = sys.argv[4] - build_adoc = sys.argv[5] + picosdk_json = sys.argv[4] + includes_dir = sys.argv[5] + build_adoc = sys.argv[6] output_subdir = os.path.basename(os.path.dirname(build_adoc)) adoc_filename = os.path.basename(build_adoc) check_no_markdown(src_adoc) + with open(picosdk_json) as json_fh: + picosdk_data = json.load(json_fh) + index_title = None with open(index_json) as json_fh: data = json.load(json_fh) for tab in data['tabs']: - if 'path' in tab and tab['path'] == output_subdir: - for subitem in tab['subitems']: - if 'subpath' in subitem and subitem['subpath'] == adoc_filename: - index_title = subitem['title'] - break - if index_title is not None: - break - elif 'from_json' in tab: - index_title = tab['title'] + if 'from_json' in tab and 'directory' in tab and tab['directory'] == output_subdir: + filebase = os.path.splitext(adoc_filename)[0] + if filebase in picosdk_data: + index_title = picosdk_data[filebase]['name'] + else: + index_title = filebase break if index_title is None: raise Exception("Couldn't find title for {} in {}".format(os.path.join(output_subdir, adoc_filename), index_json))