{% extends "base.html" %} {% from "chirpui/layout.html" import container %} {% from "chirpui/resource_index.html" import resource_index %} {% from "chirpui/rendered_content.html" import rendered_content %} {% from "partials/taxonomy-pages.html" import count_label, term_resource_card %} {% block content %} {% let page_title = page?.title ?? "Browse by Category" %} {% let page_desc = page?.description ?? params?.description ?? "Explore content organized by category." %} {% let category_index = site?.indexes?.category ?? {} %} {% let category_names = categories ?? (category_index.keys() | list if category_index else []) %} {% call container(cls="chirp-theme-taxonomy-page") %} {% call resource_index( page_title, page?.href ?? "/categories/", subtitle=page_desc, search_placeholder="Filter categories...", button_icon="magnifying-glass", results_title="Categories", results_subtitle=count_label(category_names | length, "category", "categories"), results_layout="grid", results_cols=3, has_results=category_names | length > 0, empty_title="No categories yet", empty_message="Add category frontmatter to create category groups.", cls="chirp-theme-taxonomy-index" ) %} {% if content %} {% call rendered_content(compact=true) %}{{ content | safe }}{% end %} {% end %} {% for category in category_names | sort %} {% let category_name = category?.name ?? category %} {% let category_href = category?.href ?? "/category/" ~ category_name ~ "/" %} {% let category_posts = (category_index.get(category_name) | resolve_pages) if category_index.get(category_name) else (category?.pages ?? []) %} {{ term_resource_card(category_name | title, category_href, category_posts | length, "Content in " ~ (category_name | title), "page") }} {% end %} {% end %} {% end %} {% end %}