From df2191fc053b3d746365208563cd3cbe9ade21b5 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 22 Mar 2026 15:58:42 +0800 Subject: [PATCH] refactor(build): remove unused group_categories wrapper group_categories only ever appended a Resources group when the resources list was non-empty. All call sites passed an empty list, making it a no-op indirection. Inline parsed_groups directly and remove the dead code along with its tests. Co-Authored-By: Claude --- website/build.py | 29 ++++------------------------- website/tests/test_build.py | 35 ----------------------------------- 2 files changed, 4 insertions(+), 60 deletions(-) diff --git a/website/build.py b/website/build.py index 29cbfc09..2a6116a8 100644 --- a/website/build.py +++ b/website/build.py @@ -9,26 +9,7 @@ from pathlib import Path from typing import TypedDict from jinja2 import Environment, FileSystemLoader -from readme_parser import parse_readme, slugify - - -def group_categories( - parsed_groups: list[dict], - resources: list[dict], -) -> list[dict]: - """Combine parsed groups with resources for template rendering.""" - groups = list(parsed_groups) - - if resources: - groups.append( - { - "name": "Resources", - "slug": slugify("Resources"), - "categories": list(resources), - } - ) - - return groups +from readme_parser import parse_readme class StarData(TypedDict): @@ -152,12 +133,11 @@ def build(repo_root: str) -> None: subtitle = stripped break - parsed_groups, _resources = parse_readme(readme_text) + parsed_groups, _ = parse_readme(readme_text) categories = [cat for g in parsed_groups for cat in g["categories"]] total_entries = sum(c["entry_count"] for c in categories) - groups = group_categories(parsed_groups, []) - entries = extract_entries(categories, groups) + entries = extract_entries(categories, parsed_groups) stars_data = load_stars(website / "data" / "github_stars.json") for entry in entries: @@ -186,8 +166,7 @@ def build(repo_root: str) -> None: (site_dir / "index.html").write_text( tpl_index.render( categories=categories, - resources=[], - groups=groups, + groups=parsed_groups, subtitle=subtitle, entries=entries, total_entries=total_entries, diff --git a/website/tests/test_build.py b/website/tests/test_build.py index 6302c3d3..0e7eb487 100644 --- a/website/tests/test_build.py +++ b/website/tests/test_build.py @@ -8,7 +8,6 @@ from pathlib import Path from build import ( build, extract_github_repo, - group_categories, load_stars, sort_entries, ) @@ -42,40 +41,6 @@ class TestSlugify: assert slugify(" Date and Time ") == "date-and-time" -# --------------------------------------------------------------------------- -# group_categories -# --------------------------------------------------------------------------- - - -class TestGroupCategories: - def test_appends_resources(self): - parsed_groups = [ - {"name": "G1", "slug": "g1", "categories": [{"name": "Cat1"}]}, - ] - resources = [{"name": "Newsletters", "slug": "newsletters"}] - groups = group_categories(parsed_groups, resources) - group_names = [g["name"] for g in groups] - assert "G1" in group_names - assert "Resources" in group_names - - def test_no_resources_no_extra_group(self): - parsed_groups = [ - {"name": "G1", "slug": "g1", "categories": [{"name": "Cat1"}]}, - ] - groups = group_categories(parsed_groups, []) - assert len(groups) == 1 - assert groups[0]["name"] == "G1" - - def test_preserves_group_order(self): - parsed_groups = [ - {"name": "Second", "slug": "second", "categories": [{"name": "C2"}]}, - {"name": "First", "slug": "first", "categories": [{"name": "C1"}]}, - ] - groups = group_categories(parsed_groups, []) - assert groups[0]["name"] == "Second" - assert groups[1]["name"] == "First" - - # --------------------------------------------------------------------------- # build (integration) # ---------------------------------------------------------------------------