feat(Phase 1): sidebar visible, version in header, index categories, MAN 0.78rem, nav injection in 04 script

This commit is contained in:
“Naeel”
2026-08-10 13:38:35 +04:00
parent 21b92f4631
commit 195f153860
3 changed files with 77 additions and 37 deletions
@@ -158,9 +158,19 @@ load_s3cfg_registry() {
TMP_CFG="${ROOT_DIR}/.mkdocs.tmp.yml"
export ROOT_DIR
# Copy 30_registry assets into docs dir so guides/nav work when docs_dir is external
if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then
if [[ -d "${ROOT_DIR}/docs/30_registry" ]]; then
mkdir -p "${MKDOCS_DOCS_DIR}/30_registry"
cp -r "${ROOT_DIR}/docs/30_registry/"* "${MKDOCS_DOCS_DIR}/30_registry/" 2>/dev/null || true
fi
fi
python3 - <<'PY'
import os
import re
import yaml
from pathlib import Path
registry_host = os.environ["REGISTRY_HOST"]
@@ -185,6 +195,23 @@ if docs_dir:
else:
text += f"\ndocs_dir: {docs_dir}\n"
# Inject resources_nav from _nav_fragment.yml into nav section
docs_dir_path = Path(docs_dir) if docs_dir else None
nav_fragment_path = docs_dir_path / "_nav_fragment.yml" if docs_dir_path else None
if nav_fragment_path and nav_fragment_path.exists():
config = yaml.safe_load(text)
fragment = yaml.safe_load(nav_fragment_path.read_text(encoding="utf-8"))
resources_nav = fragment.get("resources_nav", [])
if resources_nav:
nav = config.get("nav", [])
for i, item in enumerate(nav):
if isinstance(item, dict) and "Ресурсы" in item:
# Replace "Ресурсы" children with generated categories
item["Ресурсы"] = resources_nav
break
config["nav"] = nav
text = yaml.dump(config, allow_unicode=True, default_flow_style=False, sort_keys=False)
(root_dir / ".mkdocs.tmp.yml").write_text(text, encoding="utf-8")
PY