From d84217fe5a0f389de8afcfacacd95b1c9dfd6eca Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Sun, 21 Jun 2026 12:41:59 +0200 Subject: Licensing --- build.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'build.py') 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)) -- cgit