iwe
Added
markdown.wiki_link_pathconfig option (preserve|full|short, defaultpreserve) controls howiwe normalizeandiwe exportwrite the path inside a wiki link:preservekeeps each link as typed,fullrewrites to the target's full key path, andshortrewrites to the shortest unambiguous suffix.iwe initnow writes the option in the generated config.
Changed
iwe normalizenow recognizes task-list markers in list items (- [ ],- [x]) and normalizes[X]to lowercase[x]- List items are now a distinct node type rather than sections, so
iwe statsno longer counts them toward the section total andiwe extractno longer lists them as extractable sections (section and--blocknumbers shift accordingly)
Fixed
- Wiki link shortening no longer rewrites a link whose target is missing from the document set onto an unrelated document that shares the same file name; such links keep their full path.
iwes
Added
markdown.wiki_link_pathconfig option (preserve|full|short, defaultpreserve) controls how completion, the create-link code action, and normalize-on-format write the path inside a wiki link:preservekeeps each link as typed,fullemits the full key path ([[folder/target]]), andshortemits the shortest unambiguous suffix. Completion and create-link, which have no original link to preserve, emit the full key path underpreserve.
Changed
- Normalize-on-format now recognizes task-list markers in list items (
- [ ],- [x]) and normalizes[X]to lowercase[x]
Fixed
- Wiki link shortening no longer rewrites a link whose target is missing from the workspace onto an unrelated document that happens to share the file name; such links keep their full path.
iwec
Changed
- The
iwe_normalizetool now recognizes task-list markers in list items (- [ ],- [x]) and normalizes[X]to lowercase[x] - List items are now a distinct node type rather than sections, so
iwe_statsno longer counts them toward the section total andiwe_extractno longer lists them as extractable sections (block numbers shift accordingly)
liwe
Added
Node::Item(Option<bool>, Inlines)represents a list item as a first-class node carrying task-checkbox state (- [ ]→Some(false),- [x]/- [X]→Some(true), plain item →None); checkboxes are detected when the tree is collected and re-emitted (normalized to lowercase[x]) when rendering markdown.Reference.url: Stringcarries the wiki link target exactly as written, andReference.display_url: Option<String>holds the pre-resolved wiki display URL, both populated when the tree is collected so markdown rendering is self-contained.MarkdownOptions.wiki_link_path: WikiLinkPath(Full|Short|Preserve, defaultPreserve) controls how the path inside a wiki link is rendered:PreservekeepsReference.urlas written,Fulluses the target's full key path, andShortuses the shortest unambiguous suffix.Graph::wiki_display(&self, &Key, &str) -> Stringapplies the setting, exposed to the inline-resolution pass throughInlinesContext::wiki_display(replacingInlinesContext::shorten_wiki).KeyIndex::wiki_target(&self, &Key, WikiLinkPath) -> Stringcomputes the form for newly created links.
Changed
- The markdown model types moved out of the now-removed
model::graphmodule:GraphInline/GraphInlinesbecameInline/Inlinesinmodel::inline, andGraphBlockbecameBlockinmodel::writer(Blocksand theblocks_to_markdown*helpers move with it).NodeIterandNodePointermove tomodel::node_iterandmodel::node_pointer, andTreeItertomodel::tree_iter. Projector::project,NodeIter::to_markdown/to_markdown_skip_frontmatter, andGraph::to_markdown/to_markdown_skip_frontmatterno longer take aKeyIndexand render markdown purely from the collected tree; the*_indexedNodeItervariants are removed. Wiki links are resolved to their display form (perwiki_link_path) when the tree is collected (was at render time) and the result is carried onReference.display_url.
Fixed
- Wiki link shortening no longer shortens a target absent from the document set onto an unrelated document that shares its file name (previously a suffix matching zero keys was accepted, so a link could be rewritten to a shorter form resolving elsewhere); the shortened form now resolves only to the exact target it was derived from, otherwise the full path is kept.