diff --git a/website/build.py b/website/build.py
index 3e94a2b2..7c87f986 100644
--- a/website/build.py
+++ b/website/build.py
@@ -332,6 +332,7 @@ def build(repo_root: Path) -> None:
trim_blocks=True,
lstrip_blocks=True,
)
+ env.filters["slugify"] = slugify
site_dir = website / "output"
if site_dir.exists():
diff --git a/website/templates/category.html b/website/templates/category.html
index 8983c77e..c17cebc5 100644
--- a/website/templates/category.html
+++ b/website/templates/category.html
@@ -117,15 +117,19 @@
{% for subcat in entry.subcategories %}
- |
{% for subcat in entry.subcategories %}
-
+
{{ subcat.name }}
{% endfor %} {% for cat in entry.categories %}
@@ -235,10 +235,15 @@
class="tag"
href="{{ category_urls[cat] }}"
data-value="{{ cat }}"
+ data-url="{{ category_urls[cat] }}"
>{{ cat }}
{% endfor %}
-
+
{{ entry.groups[0] }}
{% if entry.source_type == 'Built-in' %}
diff --git a/website/tests/test_build.py b/website/tests/test_build.py
index 85c7ea21..b482c1a6 100644
--- a/website/tests/test_build.py
+++ b/website/tests/test_build.py
@@ -724,6 +724,37 @@ class TestBuild:
assert "wf1" in web_dev
assert "dl1" not in web_dev
+ def test_tag_buttons_have_data_url(self, tmp_path):
+ readme = textwrap.dedent("""\
+ # T
+
+ ---
+
+ **AI & ML**
+
+ ## Deep Learning
+
+ - Vision
+
+ - [v1](https://example.com/v1) - Vision lib.
+
+ # Contributing
+
+ Done.
+ """)
+ self._copy_real_templates(tmp_path)
+ (tmp_path / "README.md").write_text(readme, encoding="utf-8")
+ build(tmp_path)
+
+ site = tmp_path / "website" / "output"
+ index_html = (site / "index.html").read_text(encoding="utf-8")
+
+ assert 'data-value="Deep Learning"' in index_html
+ assert 'data-url="/categories/deep-learning/"' in index_html
+ assert 'data-value="AI & ML"' in index_html or 'data-value="AI & ML"' in index_html
+ assert 'data-url="/categories/ai-ml/"' in index_html
+ assert 'data-url="/categories/deep-learning/vision/"' in index_html
+
# ---------------------------------------------------------------------------
# extract_github_repo
|