feat(config): on-save autoregen family — links/tags/diary-index (P2)
CI / cargo fmt --check (push) Successful in 17s
CI / cargo clippy (push) Successful in 38s
CI / cargo test (push) Successful in 41s
CI / editor keymaps (push) Successful in 1m25s

Added per-wiki auto_generate_links, auto_generate_tags, auto_diary_index
(default false, like upstream), wired into the did_save hook mirroring
auto_toc:

- auto_generate_links / auto_generate_tags rebuild the Generated Links /
  Generated Tags section ONLY when it already exists (new
  links_rebuild_edit / tag_links_rebuild_edit, like toc_rebuild_edit) — never
  inserts one into a page that lacks it.
- auto_diary_index regenerates the diary index page when a dated diary entry
  (not the index itself) is saved, via diary_generate_index_edit (handles the
  index file open / on-disk / absent).

auto_tags is recorded as an intentional divergence: nuwiki re-indexes tags on
every change, so the tag metadata is always fresh (no on-disk file to update).

Tests: links_rebuild_edit_only_acts_when_section_present,
tag_links_rebuild_edit_only_acts_when_index_present, config round-trip +
defaults. README/doc/lua comment updated. fmt/clippy clean; 0 Rust failures.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-31 18:55:51 +00:00
parent 3fd04b0efa
commit 09b5a2bd46
10 changed files with 255 additions and 3 deletions
+6
View File
@@ -196,6 +196,12 @@ match upstream vimwiki.
`css_name` `'style.css'`
`auto_export` `false` — export to HTML on save.
`auto_toc` `false` — refresh TOC on save.
`auto_generate_links` `false` — regen an existing Generated Links section
on save.
`auto_generate_tags` `false` — regen an existing Generated Tags index on
save.
`auto_diary_index` `false` — regen the diary index when a diary entry is
saved.
`toc_header` `'Contents'` (+ `toc_header_level` `1`) — :VimwikiTOC.
`links_header` `'Generated Links'` (+ `links_header_level` `1`).
`tags_header` `'Generated Tags'` (+ `tags_header_level` `1`).