summaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2026-06-21 12:41:59 +0200
committerPaweł Redman <pawel.redman@gmail.com>2026-06-21 12:41:59 +0200
commitd84217fe5a0f389de8afcfacacd95b1c9dfd6eca (patch)
tree98f557c81ef4b5d0e75f08ef0a0ee693dd02a70a /build.py
parent9775887a4e3197c19edd456f17e59352b636e11b (diff)
LicensingHEADmaster
Diffstat (limited to 'build.py')
-rw-r--r--build.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/build.py b/build.py
index 3e72993..5c2c69f 100644
--- a/build.py
+++ b/build.py
@@ -1,10 +1,13 @@
#!/usr/bin/env python3
+# SPDX-License-Identifier: 0BSD
+# Copyright © Paweł Redman
import itertools as it
import json
import os
import shutil
from argparse import ArgumentParser
+from collections.abc import Iterable
from dataclasses import dataclass
from datetime import datetime
from pathlib import Path
@@ -78,12 +81,13 @@ class Builder:
payload_path.parent.mkdir(parents=True, exist_ok=True)
# Maybe sorting/filtering should be done in Typst?
- pages = [
- page
- for page in pages
- if page.date is not None
- ]
- pages.sort(key=lambda page: page.date, reverse=True)
+ pages = [page for page in pages if page.date is not None]
+
+ def page_date(page: CompiledPage) -> datetime:
+ assert page.date is not None
+ return page.date
+
+ pages.sort(key=page_date, reverse=True)
with payload_path.open('w') as file:
payload = {
@@ -137,6 +141,7 @@ def main() -> None:
builder = Builder(site_dir, static_dir, public_dir, temp_dir)
+ iterator: Iterable[object]
if args.watch:
watch_filter = DefaultFilter(ignore_paths=[temp_dir])
iterator = it.chain(range(1), watch(site_dir, watch_filter=watch_filter))