mirror of
https://github.com/quartz-community/utils.git
synced 2026-07-22 02:50:27 +00:00
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.
1.1 KiB
1.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Initial Quartz community plugin template.
Changed
- BREAKING:
slugifyPath,slugifyFilePath, andslugTagnow lowercase their output to match Obsidian's case-insensitive link- and tag-matching semantics. Previously all three preserved case. This means[[My Note]]and[[my note]]both resolve to the slugmy-note, and the tags#MyTagand#mytagcollapse into a single tag page. Downstream effects: all generated URLs are now lowercase; users upgrading from earlier Quartz v5 betas 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), whereApple.mdandapple.mdpreviously produced conflicting HTML outputs that overwrote each other without warning.