1a5b35eb54
Python application / build (push) Has been cancelled
- add Local Render Mermaid - add page-starе для указания смещения страниц - add Гиперссылки в документе на списки литературы
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
"""Download pinned mermaid.min.js into md2gost/diagrams (for offline browser render)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import requests
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
DEST = ROOT / "md2gost" / "diagrams" / "mermaid.min.js"
|
|
MERMAID_VERSION = "11.4.1"
|
|
URL = f"https://cdn.jsdelivr.net/npm/mermaid@{MERMAID_VERSION}/dist/mermaid.min.js"
|
|
|
|
|
|
def main() -> int:
|
|
DEST.parent.mkdir(parents=True, exist_ok=True)
|
|
print(f"Скачиваю Mermaid {MERMAID_VERSION} → {DEST}")
|
|
try:
|
|
resp = requests.get(URL, timeout=120)
|
|
resp.raise_for_status()
|
|
if len(resp.content) < 100_000:
|
|
print("Слишком маленький ответ — не похоже на mermaid.min.js", file=sys.stderr)
|
|
return 1
|
|
DEST.write_bytes(resp.content)
|
|
except Exception as exc:
|
|
print(f"Ошибка: {exc}", file=sys.stderr)
|
|
return 1
|
|
print(f"OK ({DEST.stat().st_size} bytes)")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|