From e242e2e04686e16e78e57a435a9828c11e7bb7c5 Mon Sep 17 00:00:00 2001 From: object-Object Date: Sun, 27 Aug 2023 19:14:01 -0400 Subject: [PATCH] Add optional static dir --- doc/src/hexdoc/hexdoc.py | 11 ++++++++++- doc/src/hexdoc/utils/resource_loader.py | 2 +- doc/static/logo.png | Bin 0 -> 37749 bytes 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 doc/static/logo.png diff --git a/doc/src/hexdoc/hexdoc.py b/doc/src/hexdoc/hexdoc.py index 2ba7177f..0e10b6f9 100644 --- a/doc/src/hexdoc/hexdoc.py +++ b/doc/src/hexdoc/hexdoc.py @@ -1,6 +1,8 @@ import io import logging import os +import shutil +import subprocess import sys from argparse import ArgumentParser from pathlib import Path @@ -99,7 +101,7 @@ def main(args: Args | None = None) -> None: # load the book props = Properties.load(args.properties_file) - with ModResourceLoader.load_all(props) as loader: + with ModResourceLoader.clean_and_load_all(props) as loader: _, book_data = Book.load_book_json(loader, props.book) with init_context(book_data): @@ -144,7 +146,14 @@ def main(args: Args | None = None) -> None: ) ) + # write docs + subprocess.run(["git", "clean", "-fdX", args.output_dir]) args.output_dir.mkdir(parents=True, exist_ok=True) + + static_dir = Path("static") + if static_dir.is_dir(): + shutil.copytree(static_dir, args.output_dir, dirs_exist_ok=True) + (args.output_dir / "index.html").write_text(docs, "utf-8") diff --git a/doc/src/hexdoc/utils/resource_loader.py b/doc/src/hexdoc/utils/resource_loader.py index b1db0a3e..2b473440 100644 --- a/doc/src/hexdoc/utils/resource_loader.py +++ b/doc/src/hexdoc/utils/resource_loader.py @@ -41,7 +41,7 @@ class ModResourceLoader: @classmethod @contextmanager - def load_all(cls, props: Properties) -> Iterator[Self]: + def clean_and_load_all(cls, props: Properties) -> Iterator[Self]: # clear the export dir so we start with a clean slate subprocess.run(["git", "clean", "-fdX", props.export_dir]) diff --git a/doc/static/logo.png b/doc/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb610902088ed3a1c8214c026423b3c98ea25cb7 GIT binary patch literal 37749 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