Repository navigation
v0.2.5 — Taxonomy targets, configurable headings, multi-field keywords
New
- Taxonomy targets. Each unique `(key, value)` pair across the index becomes a virtual link target whose URL is built from a per-key template you configure. Set up via the new `taxonomy_routes` admin field (e.g. `distro: '/artigos/distro:{value}'`). Single-word taxonomy values bypass the modal's exact-phrase-length filter and get a `tag` badge so they're easy to tell apart from page suggestions.
- `skip_headings` toggle. Choose whether phrases inside Markdown headings (`#`, `##`, `###`...) and HTML `
`–`
` blocks are excluded from suggestions. Defaults to enabled (preserves v0.2.3 behavior); flip off to receive suggestions for words that appear inside headings.
- Show-more for long target lists. Suggestions with many candidate pages now render only the first 10, with a Show N more button to expand. Cleans up noisy single-word matches that have hundreds of candidates.
- Refresh after Accept. Inserting a link refetches suggestions automatically so other matches that overlap the just-linked region disappear. A spinner overlays the matches list during the refresh.
Improved
- `keyword_field` (single string) → `keyword_fields` (array). Admin field is a selectize tag input with predefined options (`focus_keyword`, `keywords`, `seo_title`, `meta_title`, `aliases`, `tags`, `meta_description`) plus free-form add. Legacy single-string config is auto-migrated.
- Indexer uses Symfony YAML (when available) so nested taxonomy front-matter is parsed correctly.
- The IIFE survives being inlined late by the asset pipeline — editor-button observer starts immediately when the DOM is already ready.
Bugfix
- `insertLink` is now case-insensitive and word-bounded; preserves the source's original casing in the wrapped link. Fixes the "Phrase no longer found in content" error when the title-derived phrase had different casing than the source occurrence.
See the full CHANGELOG.