diff options
| author | Paweł Redman <pawel.redman@gmail.com> | 2026-06-18 22:33:17 +0200 |
|---|---|---|
| committer | Paweł Redman <pawel.redman@gmail.com> | 2026-06-18 22:33:17 +0200 |
| commit | f6110f5ae807c1b5c7427ff5bb43cb202d812782 (patch) | |
| tree | c2cd99c09a9097ca1c485f5109c7d20d2343572c /build.py | |
| parent | 171ffcfb9b3c9aaf180e40af9e9956bf92f9c5ff (diff) | |
Better diagnostics and rework -w
Diffstat (limited to 'build.py')
| -rw-r--r-- | build.py | 22 |
1 files changed, 13 insertions, 9 deletions
@@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import itertools as it import json import os import shutil @@ -135,19 +136,22 @@ def main() -> None: os.environ['TYPST_FEATURES'] = 'html' builder = Builder(site_dir, static_dir, public_dir, temp_dir) - builder.build() if args.watch: - logger.info('Watching for changes...') - watch_filter = DefaultFilter(ignore_paths=[temp_dir]) + iterator = it.chain(range(1), watch(site_dir, watch_filter=watch_filter)) - for changes in watch(site_dir, watch_filter=watch_filter): - print(changes) - try: - builder.build() - except TypstError as e: - logger.exception(e) + logger.info('Watching for changes...') + else: + iterator = range(1) + + for _ in iterator: + try: + builder.build() + except TypstError as e: + logger.error('Typst failed:\n' + e.diagnostic) + if not args.watch: + raise if __name__ == '__main__': |
