diff --git a/templates/docs/_data/plugins.py b/templates/docs/_data/plugins.py index 1b356fed9bb6222b1d6ad82acd0deded524f6ebd..3fa53275ab6ea0fab7c9be03fbae29ceaaaaade1 100644 --- a/templates/docs/_data/plugins.py +++ b/templates/docs/_data/plugins.py @@ -100,6 +100,7 @@ def add_internal_to_nav( """ if nav_parent: for i_nav in nav: + # "nav_entry" is a key of current parsed `nav` if nav_parent[0] in i_nav: for i_key in i_nav: add_internal_to_nav( @@ -109,6 +110,16 @@ def add_internal_to_nav( repo_parent, nav_parent[1:], ) + # "nav_entry" is a subkey of current parsed `nav` + elif nav_parent[0] in yaml.dump(i_nav): + for i_key in i_nav: + add_internal_to_nav( + env, + i_nav[i_key], + repo_dict, + repo_parent, + nav_parent[0:], + ) else: mkdocs_path = env.project_dir for i_parent in repo_parent: @@ -153,10 +164,14 @@ def add_external_to_nav( repo_parent, nav_parent[1:], ) - elif repo_dict["online_url"].startswith('/'): - nav.append({ - repo_dict["nav_entry"]: repo_dict["online_url"].replace('/','../',1) - }) + elif repo_dict["online_url"].startswith("/"): + nav.append( + { + repo_dict["nav_entry"]: repo_dict["online_url"].replace( + "/", "../", 1 + ) + } + ) else: nav.append({repo_dict["nav_entry"]: repo_dict["online_url"]}) @@ -229,13 +244,15 @@ def update_nav( nav_parent.append(repo_dict["nav_entry"]) elif i_key == "internal": for i_repo in repo_dict["internal"]: - add_nav_entry(env.conf["nav"], nav_parent) + if nav_parent[0] not in yaml.dump(env.conf["nav"]): + add_nav_entry(env.conf["nav"], nav_parent) add_internal_to_nav( env, env.conf["nav"], i_repo, repo_parent, nav_parent ) elif i_key == "external": for i_repo in repo_dict["external"]: - add_nav_entry(env.conf["nav"], nav_parent) + if nav_parent[0] not in yaml.dump(env.conf["nav"]): + add_nav_entry(env.conf["nav"], nav_parent) add_external_to_nav( env, env.conf["nav"], i_repo, repo_parent, nav_parent ) @@ -406,9 +423,7 @@ def set_copyright(env: dict, git_repo: git.Repo) -> None: curr_year = time.strftime("%Y", time.localtime()) if first_year == curr_year: - env.variables[ - "date_copyright" - ] = f"Copyright © {curr_year}" + env.variables["date_copyright"] = f"Copyright © {curr_year}" else: env.variables[ "date_copyright" @@ -419,7 +434,6 @@ def set_copyright(env: dict, git_repo: git.Repo) -> None: ] = f"{env.variables['date_copyright']} {env.variables['copyright']}" - def set_repo_name(env: dict, repo_slug: str) -> None: """Update content of the `repo_name` key in `env.conf`. @@ -561,7 +575,7 @@ def set_config(env: dict) -> None: if "subrepo" in env.variables: if ( - env.variables["internal_subdoc"] + not env.variables["internal_subdoc"] and "monorepo" in env.conf["plugins"] ): env.conf["plugins"].pop("monorepo") @@ -682,7 +696,7 @@ def update_subrepo_info( f"{INFO_CLR}INFO [macros] - Pulling repo {i_repo['name']}{RESET_CLR}" ) git_subrepo = git.Repo(subrepo_root) - git_subrepo.remotes.origin.pull() + git_subrepo.remotes.origin.pull('master') else: print( f"{INFO_CLR}INFO [macros] - Cloning repo {i_repo['name']}{RESET_CLR}" @@ -834,8 +848,8 @@ def update_version(env: dict) -> None: minor = int(i_tag[1]) patch = str() for i_remain_tag in i_tag[2:]: - if i_remain_tag and i_remain_tag not in ("","\n"): - i_remain_tag = i_remain_tag.replace("\n","") + if i_remain_tag and i_remain_tag not in ("", "\n"): + i_remain_tag = i_remain_tag.replace("\n", "") if not patch: patch = f"{i_remain_tag}" else: