diff --git a/docs/build_old_docs.py b/docs/build_old_docs.py index e5218d07f..e988f150d 100755 --- a/docs/build_old_docs.py +++ b/docs/build_old_docs.py @@ -64,7 +64,7 @@ def apply_patches_for_release(release: str, repo_path: Path) -> None: sp.run(("git", "-C", str(repo_path), "am", str(patch_path)), check=True) -def build_docs_for_release(release: str, repo_path: Path, outdir: Path) -> None: +def build_docs_for_release(release: str, repo_path: Path, outdir: Path) -> Path: """Build documentation for a given release.""" print(f"Building docs for {release}") release_path = add_worktree_for_release(repo_path, release) @@ -72,6 +72,9 @@ def build_docs_for_release(release: str, repo_path: Path, outdir: Path) -> None: # Apply patches, if any apply_patches_for_release(release, release_path) + # Copy current theme into the release worktree so theme is consistent + shutil.copytree(REPO_ROOT / "theme", release_path / "theme", dirs_exist_ok=True) + # Build docs sp.run(("just", f"{release_path!s}/build-docs"), check=True) @@ -86,6 +89,8 @@ def build_docs_for_release(release: str, repo_path: Path, outdir: Path) -> None: print(f"Copying to {release_outdir}") shutil.move((release_path / "book"), release_outdir) + return release_outdir + def build_old_docs() -> None: """Build documentation for previous releases.""" @@ -98,8 +103,14 @@ def build_old_docs() -> None: clone_repo_to(repo_path) # Generate documentation for each previous release - for release in get_releases(): - build_docs_for_release(release, repo_path, outdir) + for i, release in enumerate(get_releases()): + release_outdir = build_docs_for_release(release, repo_path, outdir) + + # Copy latest release into stable dir + if i == 0: + stable_dir = outdir / "stable" + shutil.rmtree(stable_dir, ignore_errors=True) + shutil.copytree(release_outdir, stable_dir) if __name__ == "__main__": diff --git a/docs/templates/versions.md.jinja b/docs/templates/versions.md.jinja index 6e5a84c64..838a91c0c 100644 --- a/docs/templates/versions.md.jinja +++ b/docs/templates/versions.md.jinja @@ -3,6 +3,7 @@ The MUSE2 documentation for different releases is available below. - [Current development version](index.html) +- [Stable version](release/stable/index.html) {%- for release in releases %} - [{{ release }}](release/{{ release }}/index.html) {%- endfor %} diff --git a/theme/header.hbs b/theme/header.hbs new file mode 100644 index 000000000..7063a5a77 --- /dev/null +++ b/theme/header.hbs @@ -0,0 +1,56 @@ + + +
+ +