utils/test
saberzero1 4dda81bc82
feat(path)!: lowercase slugs for Obsidian-parity case-insensitive matching
slugifyPath now lowercases its output, which cascades through
slugifyFilePath, slugTag, and transformInternalLink (all of which
funnel through _sluggify).

This matches Obsidian's case-insensitive link and tag matching:
[[MyNote]], [[mynote]], and [[MYNOTE]] all resolve to the slug
'my-note', and the tags #MyTag, #mytag, and #MYTAG collapse into a
single tag page.

BREAKING CHANGE: all generated URLs are now lowercase. Users
upgrading with mixed-case source filenames will see their URLs
change (e.g. /MyNote -> /my-note). Also eliminates silent data
loss on case-insensitive filesystems (macOS APFS, Windows NTFS)
where Apple.md and apple.md previously produced conflicting HTML
outputs that overwrote each other without warning.
2026-04-16 21:12:37 +02:00
..
path.test.ts feat(path)!: lowercase slugs for Obsidian-parity case-insensitive matching 2026-04-16 21:12:37 +02:00