Skip to content

v0.2.5 — Taxonomy targets, configurable headings, multi-field keywords

Choose a tag to compare

@jonata jonata released this 27 Apr 13:15
· 5 commits to main since this release

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.