From 6ecf59b7a764a1ec03289473a9735c10a9896211 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Mon, 15 Jun 2026 20:25:47 +0200 Subject: WIP --- build.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'build.py') diff --git a/build.py b/build.py index 799eceb..15fe9b8 100644 --- a/build.py +++ b/build.py @@ -53,6 +53,7 @@ class Builder: ) ) + # FIXME: can we use one field for date? if 'date_year' in metadata: date = datetime( year=metadata['date_year'], @@ -72,13 +73,17 @@ class Builder: return [self._compile_typst_page(path) for path in self.content_dir.rglob('*.typ')] def _compile_index_page(self, pages: list[CompiledPage]) -> None: - # pages.sort(key=lambda page: page.date) - # template = jinja2.Template((self.site_dir / 'index.html').read_text()) - # (self.public_dir / 'index.html').write_text(template.render(pages=pages)) - payload_path = self.temp_dir / 'payload.json' 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) + with payload_path.open('w') as file: payload = { 'pages': [ @@ -90,7 +95,6 @@ class Builder: 'day': page.date.day if page.date else None, } for page in pages - if page.date is not None ], } json.dump(payload, file) -- cgit