diff --git a/README.md b/README.md index 84096dc..b1eee0f 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ results. ### Diary -- Daily diary out of the box (`ww`, `` / ``). +- Daily diary out of the box (`ww`, `` / ``). - Configurable cadence: set `diary_frequency = 'weekly'` (or `'monthly'` / `'yearly'`) per wiki and the commands address `2026-W19.wiki`, `2026-05.wiki`, `2026.wiki` instead. Navigation stays at the same @@ -377,8 +377,12 @@ For users configuring without Lua. |--------|---------|---------| | `g:nuwiki_wiki_root` | `'~/vimwiki'` | single-wiki root | | `g:nuwiki_file_extension` | `'.wiki'` | wiki file extension | +| `g:nuwiki_syntax` | `'vimwiki'` | wiki syntax | +| `g:nuwiki_diary_rel_path` | `'diary'` | diary subdirectory (relative to the wiki root) | +| `g:nuwiki_wikis` | _(unset)_ | list of per-wiki dicts for multi-wiki setups; wins over the scalar globals | | `g:nuwiki_log_level` | `'warn'` | `error` \| `warn` \| `info` \| `debug` | | `g:nuwiki_link_severity` | `'warn'` | broken-link severity: `off` \| `hint` \| `warn` \| `error` | +| `g:nuwiki_map_prefix` | `'w'` | prefix for the wiki command family | | `g:nuwiki_no_default_mappings` | `0` | `1` skips the whole keymap layer | | `g:nuwiki_no_wiki_prefix_mappings` | `0` | `1` skips the `w*` group | | `g:nuwiki_no_links_mappings` | `0` | `1` skips the link group (``, `+`, …) | @@ -390,6 +394,8 @@ For users configuring without Lua. | `g:nuwiki_no_text_objects_mappings` | `0` | `1` skips the text-object group (`ah`, `il`, …) | | `g:nuwiki_no_folding` | `0` | `1` skips foldexpr setup | | `g:nuwiki_mouse_mappings` | `0` | `1` enables mouse maps | +| `g:nuwiki_binary_path` | _(auto)_ | path to a prebuilt `nuwiki-ls` binary, bypassing the bundled one | +| `g:nuwiki_build_from_source` | `0` | `1` builds the binary with `cargo` instead of downloading a release | --- @@ -563,6 +569,8 @@ vimwiki) they fire only after `'timeoutlen'`; type a suffix such as `gln` or **Wiki / diary / export** (normal mode) +The `w` prefix below is the default `map_prefix` (`g:nuwiki_map_prefix`); change that option to relocate the whole family. + | Key | Action | |---|---| | `ww` | Open the wiki index | diff --git a/doc/nuwiki.txt b/doc/nuwiki.txt index 488a743..2169d3e 100644 --- a/doc/nuwiki.txt +++ b/doc/nuwiki.txt @@ -201,7 +201,11 @@ match upstream vimwiki. `template_path` Path holding `.tpl` templates. `template_default` `'default'` `template_ext` `'.tpl'` +`template_date_format` `'%Y-%m-%d'` — strftime format for `%date` in templates. `css_name` `'style.css'` +`html_filename_parameterization` `false` — encode subdir paths into the HTML + filename instead of nesting directories. +`color_dic` `{}` — map of `{ name = 'color' }` for `:NuwikiColorize`. `custom_wiki2html` `''` — external converter command. When set, export shells out to it instead of the built-in renderer, called as: @@ -227,6 +231,8 @@ match upstream vimwiki. `listsyms` `' .oOX'` — checkbox progression characters. `listsym_rejected` `'-'` — glyph for a cancelled checkbox `[-]`. `listsyms_propagate` `true` +`list_margin` `-1` — spaces before a list bullet; `-1` follows + `shiftwidth`. `links_space_char` `' '` Code fences tagged with a language (`{{{python …}}}`) are highlighted with @@ -234,6 +240,16 @@ that language's syntax automatically — there is no `nested_syntaxes` key. Vim-specific globals ~ + *g:nuwiki_diary_rel_path* +`g:nuwiki_diary_rel_path` `'diary'` + Diary subdirectory, relative to the wiki root. The scalar form for the + single-wiki shape; per-wiki `diary_rel_path` (or `g:nuwiki_wikis`) wins. + + *g:nuwiki_link_severity* +`g:nuwiki_link_severity` `'warn'` + Broken-link diagnostic severity: `off` | `hint` | `warn` | `error`. The + scalar/global form of the `diagnostic.link_severity` setup() option. + *g:nuwiki_no_default_mappings* `g:nuwiki_no_default_mappings` 0 When 1, the Vim path skips every buffer-local keymap. Equivalent to @@ -417,6 +433,15 @@ Page generation ~ range (e.g. `:'<,'>NuwikiCheckLinks`) the report is limited to the current buffer's selected lines. + *:NuwikiFindOrphans* +:NuwikiFindOrphans + List pages with no incoming links in the |quickfix| list. + + *:NuwikiNormalizeLink* +:NuwikiNormalizeLink [0|1] + Turn the word (or, with arg `1`, the visual selection) under the cursor + into a wikilink. Backs the `+` mapping. + Tags ~ *:NuwikiSearchTags* @@ -451,8 +476,86 @@ HTML export ~ :NuwikiRss Write `rss.xml` summarising recent diary entries. +Lists, tasks & tables ~ + + *:NuwikiNextTask* +:NuwikiNextTask + Jump to the next unfinished task in the buffer. + + *:NuwikiListToggle* +:NuwikiListToggle + Toggle a checkbox on the current item, adding `[ ]` if it has none. + + *:NuwikiToggleListItem* +:[range]NuwikiToggleListItem + Toggle the checkbox under the cursor. With a range, every item in the + selection. + + *:NuwikiToggleRejected* +:NuwikiToggleRejected + Toggle the rejected marker `[-]` on the current item. + + *:NuwikiIncrementListItem* *:NuwikiDecrementListItem* +:[range]NuwikiIncrementListItem +:[range]NuwikiDecrementListItem + Cycle the current item's list marker to the next / previous symbol. + With a range, every item in the selection. + + *:NuwikiChangeSymbol* *:NuwikiChangeSymbolInList* +:NuwikiChangeSymbol {sym} +:NuwikiChangeSymbolInList {sym} + Set the current item's marker to `{sym}` — or every item in the list, + for the `InList` form. + + *:NuwikiListChangeLvl* +:NuwikiListChangeLvl [increase|decrease] + Indent (`increase`) or dedent (`decrease`) the current list item. + + *:NuwikiRemoveDone* +:NuwikiRemoveDone[!] + Remove every completed item from the current list; with `!`, from the + whole buffer. + + *:NuwikiRemoveCheckbox* *:NuwikiRemoveCheckboxInList* +:[range]NuwikiRemoveCheckbox +:NuwikiRemoveCheckboxInList + Strip the checkbox from the current item (or the range), or from every + item in the current list for the `InList` form. + + *:NuwikiRenumberList* *:NuwikiRenumberAllLists* +:NuwikiRenumberList +:NuwikiRenumberAllLists + Renumber the current ordered list, or every ordered list in the buffer. + + *:NuwikiTable* +:NuwikiTable {cols} [rows] + Insert a table with `{cols}` columns (and optional `[rows]`) at the cursor. + + *:NuwikiTableAlign* +:NuwikiTableAlign + Re-align the current table's columns. + + *:NuwikiTableMoveColumnLeft* *:NuwikiTableMoveColumnRight* +:NuwikiTableMoveColumnLeft +:NuwikiTableMoveColumnRight + Move the table column under the cursor left / right. + Other ~ + *:NuwikiColorize* +:[range]NuwikiColorize {color} + Wrap the word (or the visual selection) under the cursor in a coloured + ``. `{color}` may be a `color_dic` name or a literal CSS colour. + + *:NuwikiPasteLink* *:NuwikiPasteUrl* +:NuwikiPasteLink +:NuwikiPasteUrl + Paste the clipboard contents as a wikilink, or as a raw URL. + + *:NuwikiCatUrl* +:NuwikiCatUrl + Echo the `file://` URL of the current page's HTML export. + *:NuwikiInstall* :NuwikiInstall Install (or re-install) the `nuwiki-ls` binary into the plugin's @@ -529,7 +632,11 @@ Tables (normal mode) ~ Wiki / diary / export ~ - ww Open today's diary. +The `w` prefix below is the default |map_prefix| / |g:nuwiki_map_prefix|; +set that option to relocate the whole family. + + ww Open the wiki index. + wt Open the wiki index in a new tab. ws Pick a wiki. wi Open the diary index. ww Today.