feat(Phase 1): sidebar visible, version in header, index categories, MAN 0.78rem, nav injection in 04 script
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user