Skip to content

Tags with children are unreachable: parent tag page collides with its own subdirectory #2556

Description

@PyrokineticDarkElf

Describe the bug
When a tag has hierarchical sub-tags (e.g. kubernetes and kubernetes/k3s), generate() writes the parent tag's page as a flat file (tags/kubernetes.html) that ends up sitting next to a same-named directory (tags/kubernetes/) created for its children's pages. On deploy, the directory shadows the file, so the parent tag page 404s even though it built successfully.

To Reproduce
Given frontmatter across a vault:

Kubernetes/index.md -> tags: [kubernetes]
Kubernetes/K3s-note.md -> tags: [kubernetes/k3s]
Kubernetes/Kube-VIP-note.md -> tags: [kubernetes/kube-vip]
Kubernetes/Kubectl-note.md -> tags: [kubernetes/kubectl]
Build output:

output/tags/kubernetes.html (parent tag page)
output/tags/kubernetes/k3s.html
output/tags/kubernetes/kube-vip.html
output/tags/kubernetes/kubectl.html
Requesting /tags/kubernetes/ 404s: the server resolves the tags/kubernetes/ directory, finds no index.html inside it, and never falls back to the sibling tags/kubernetes.html file.

Confirmed on a live Quartz v5 site:

/tags/kubernetes/ -> 404
/tags/docker/ -> 404 (same pattern — has a child docker/docker-compose)
/tags/kubernetes/k3s -> 200
/tags/homelab/ -> 200 (no children, unaffected)

Quartz Version: v5.0.0 (this bug reproduces on the v5 branch, commit 68c56e3)
node Version: v22.23.2
npm version: 10.9.8
OS: Ubuntu 24.04.4 LTS (bug is build-time, not browser-side)
Browser: N/A — this is a build-output/routing issue

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions