python file to generate docs. useful for pycharm on windows

This commit is contained in:
2026-01-09 15:52:27 +05:30
parent 3d6655084f
commit fc29f49d41

46
generate_docs.py Normal file
View File

@@ -0,0 +1,46 @@
"""
Programmatic MkDocs build script for OmniRead.
This script builds (or serves) the documentation by invoking MkDocs
*as a Python library*, not via shell commands.
Requirements:
- mkdocs
- mkdocs-material
- mkdocstrings[python]
Usage:
python generate_docs.py
python generate_docs.py --serve
"""
import sys
from pathlib import Path
from mkdocs.commands import build as mkdocs_build
from mkdocs.commands import serve as mkdocs_serve
from mkdocs.config import load_config
PROJECT_ROOT = Path(__file__).resolve().parent
MKDOCS_YML = PROJECT_ROOT / "mkdocs.yml"
def main() -> None:
if not MKDOCS_YML.exists():
raise FileNotFoundError("mkdocs.yml not found at project root")
# Load MkDocs configuration programmatically
config = load_config(str(MKDOCS_YML))
# Decide mode
if "--serve" in sys.argv:
# Live-reload development server
mkdocs_serve.serve(config)
else:
# Static site build
mkdocs_build.build(config)
if __name__ == "__main__":
main()