Documentation
Ignore directories for markdown sites
Markdown-mode sites can now exclude directories from rendering and from static
serving, both automatically for hidden directories and explicitly via
site.toml.
What changed
-
Any path component that starts with a dot (for example
.git/,.cursor/,.venv/) is now ignored everywhere the site backend touches the store: page scanning, section listings, and the markdown request handler. Files under these directories never become pages and are never served as static assets. -
site.tomlgained a newignore_dirsfield — a list of root-relative directories that receive the same treatment as hidden directories:ignore_dirs = ["out", "vendor", "generated/cache"]Entries match a directory and everything beneath it.
-
Requests that resolve to an ignored path now return 404 instead of leaking the underlying file.
Why this matters
Repositories that back a markdown site often also hold tooling state and build
output: .git/, editor caches, generated HTML, vendored dependencies. Until
now those files were scanned alongside content and could end up in section
listings or be served directly. The new defaults remove hidden directories
from consideration, and ignore_dirs covers the non-hidden cases without
forcing authors to restructure the repo.
See Site structure → site.toml
for the field reference and examples.