From 2cb09552c2713288c0b88706893d5719ffb9616b Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Wed, 25 Feb 2026 16:50:15 -0800 Subject: [PATCH] Also group assignments in the same way as notes --- build.py | 30 ++++++++++++++---- .../youtube-playlists.pdf | Bin 2 files changed, 23 insertions(+), 7 deletions(-) rename shared/assignments/{ => youtube-playlists}/youtube-playlists.pdf (100%) diff --git a/build.py b/build.py index 82e9e85..05fdf2f 100644 --- a/build.py +++ b/build.py @@ -75,13 +75,29 @@ def scan_shared() -> list[Section]: assignments_dir = SHARED_DIR / "assignments" if assignments_dir.exists(): - zip_name = "assignments.zip" - create_zip(assignments_dir, ZIPS_DIR / zip_name) - sections.append(Section( - title="Assignments", - zip_url=f"zips/{zip_name}", - files=list_files(assignments_dir), - )) + subdirs = sorted( + d for d in assignments_dir.iterdir() + if d.is_dir() and should_include(d) + ) + if subdirs: + subsections = [] + for subdir in subdirs: + zip_name = f"assignments-{subdir.name}.zip" + create_zip(subdir, ZIPS_DIR / zip_name) + subsections.append(SubSection( + name=subdir.name, + zip_url=f"zips/{zip_name}", + files=list_files(subdir), + )) + sections.append(Section(title="Assignments", subsections=subsections)) + else: + zip_name = "assignments.zip" + create_zip(assignments_dir, ZIPS_DIR / zip_name) + sections.append(Section( + title="Assignments", + zip_url=f"zips/{zip_name}", + files=list_files(assignments_dir), + )) notes_dir = SHARED_DIR / "notes-and-examples" if notes_dir.exists(): diff --git a/shared/assignments/youtube-playlists.pdf b/shared/assignments/youtube-playlists/youtube-playlists.pdf similarity index 100% rename from shared/assignments/youtube-playlists.pdf rename to shared/assignments/youtube-playlists/youtube-playlists.pdf