From 19c9bc84f25143c7cd70559267fb2038cd3ea8f7 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Tue, 21 Mar 2023 09:31:49 -0700 Subject: [PATCH] docs: simplify templating of install pages --- .gitignore | 2 +- ci/build-docs.sh | 2 +- ci/generate-docs.py | 2 +- ci/subst-release-info.py | 22 +++++-------------- docs/install/{freebsd.markdown => freebsd.md} | 0 docs/install/{linux.markdown => linux.md} | 0 docs/install/{macos.markdown => macos.md} | 0 docs/install/{source.markdown => source.md} | 0 docs/install/{windows.markdown => windows.md} | 0 mkdocs_macros.py | 7 ++++++ 10 files changed, 15 insertions(+), 20 deletions(-) rename docs/install/{freebsd.markdown => freebsd.md} (100%) rename docs/install/{linux.markdown => linux.md} (100%) rename docs/install/{macos.markdown => macos.md} (100%) rename docs/install/{source.markdown => source.md} (100%) rename docs/install/{windows.markdown => windows.md} (100%) diff --git a/.gitignore b/.gitignore index 8e2240fec..902f409c2 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,8 @@ dhat-heap.json /termwiz/codegen/target /termwiz/codegen/Cargo.lock /gh_pages/ +/docs/releases.json /docs/SUMMARY.md -/docs/install/*.md /docs/cli/cli/index.md /docs/recipes/index.md /docs/colorschemes/**/index.md diff --git a/ci/build-docs.sh b/ci/build-docs.sh index 497ec6998..5344ad73e 100755 --- a/ci/build-docs.sh +++ b/ci/build-docs.sh @@ -8,7 +8,7 @@ done tracked_markdown=$(mktemp) trap "rm ${tracked_markdown}" "EXIT" -git ls-tree -r HEAD --name-only docs | egrep '\.(markdown|md)$' > $tracked_markdown +find docs -type f | egrep '\.(markdown|md)$' > $tracked_markdown gelatyx --language lua --file-list $tracked_markdown --language-config ci/stylua.toml gelatyx --language lua --file-list $tracked_markdown --language-config ci/stylua.toml --check || exit 1 diff --git a/ci/generate-docs.py b/ci/generate-docs.py index 788048b5e..cec4f3a75 100644 --- a/ci/generate-docs.py +++ b/ci/generate-docs.py @@ -305,7 +305,7 @@ function load_scheme_player(ident) {{ idx.write( f""" ```lua -config.color_scheme = "{title}" +config.color_scheme = '{title}' ``` """ diff --git a/ci/subst-release-info.py b/ci/subst-release-info.py index 6d6ab80ec..391ee181a 100755 --- a/ci/subst-release-info.py +++ b/ci/subst-release-info.py @@ -50,9 +50,9 @@ def build_subst(subst, stable, categorized): continue url, name, dir = info kind = f"{kind}_{stable}" - subst["{{ %s }}" % kind] = url - subst["{{ %s_asset }}" % kind] = name - subst["{{ %s_dir }}" % kind] = dir + subst[kind] = url + subst[f"{kind}_asset"] = name + subst[f"{kind}_dir"] = dir def load_release_info(): @@ -83,21 +83,9 @@ def load_release_info(): subst = {} build_subst(subst, "stable", latest) build_subst(subst, "nightly", nightly) - # print(pretty(subst)) - for name in [ - "install/windows", - "install/macos", - "install/linux", - "install/source", - "install/freebsd", - ]: - with open(f"docs/{name}.markdown", "r") as input: - with open(f"docs/{name}.md", "w") as output: - for line in input: - for search, replace in subst.items(): - line = line.replace(search, replace) - output.write(line) + with open(f"docs/releases.json", "w") as output: + json.dump(subst, output) def main(): diff --git a/docs/install/freebsd.markdown b/docs/install/freebsd.md similarity index 100% rename from docs/install/freebsd.markdown rename to docs/install/freebsd.md diff --git a/docs/install/linux.markdown b/docs/install/linux.md similarity index 100% rename from docs/install/linux.markdown rename to docs/install/linux.md diff --git a/docs/install/macos.markdown b/docs/install/macos.md similarity index 100% rename from docs/install/macos.markdown rename to docs/install/macos.md diff --git a/docs/install/source.markdown b/docs/install/source.md similarity index 100% rename from docs/install/source.markdown rename to docs/install/source.md diff --git a/docs/install/windows.markdown b/docs/install/windows.md similarity index 100% rename from docs/install/windows.markdown rename to docs/install/windows.md diff --git a/mkdocs_macros.py b/mkdocs_macros.py index 408e28874..612277e87 100644 --- a/mkdocs_macros.py +++ b/mkdocs_macros.py @@ -1,5 +1,12 @@ +import json + # https://mkdocs-macros-plugin.readthedocs.io/en/latest/macros/ def define_env(env): + with open("docs/releases.json") as f: + for (k, v) in json.load(f).items(): + env.variables[k] = v + + @env.macro def since(vers, outline=False, inline=False): if vers == "nightly":