github iwe-org/iwe iwe-v0.3.0
v0.3.0

latest releases: iwec-v0.3.0, iwes-v0.3.0
5 hours ago

iwe

Added

  • markdown.wiki_link_path config option (preserve | full | short, default preserve) controls how iwe normalize and iwe export write the path inside a wiki link: preserve keeps each link as typed, full rewrites to the target's full key path, and short rewrites to the shortest unambiguous suffix. iwe init now writes the option in the generated config.

Changed

  • iwe normalize 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 stats no longer counts them toward the section total and iwe extract no longer lists them as extractable sections (section and --block numbers 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_path config option (preserve | full | short, default preserve) controls how completion, the create-link code action, and normalize-on-format write the path inside a wiki link: preserve keeps each link as typed, full emits the full key path ([[folder/target]]), and short emits the shortest unambiguous suffix. Completion and create-link, which have no original link to preserve, emit the full key path under preserve.

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_normalize tool 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_stats no longer counts them toward the section total and iwe_extract no 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: String carries the wiki link target exactly as written, and Reference.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, default Preserve) controls how the path inside a wiki link is rendered: Preserve keeps Reference.url as written, Full uses the target's full key path, and Short uses the shortest unambiguous suffix. Graph::wiki_display(&self, &Key, &str) -> String applies the setting, exposed to the inline-resolution pass through InlinesContext::wiki_display (replacing InlinesContext::shorten_wiki). KeyIndex::wiki_target(&self, &Key, WikiLinkPath) -> String computes the form for newly created links.

Changed

  • The markdown model types moved out of the now-removed model::graph module: GraphInline/GraphInlines became Inline/Inlines in model::inline, and GraphBlock became Block in model::writer (Blocks and the blocks_to_markdown* helpers move with it). NodeIter and NodePointer move to model::node_iter and model::node_pointer, and TreeIter to model::tree_iter.
  • Projector::project, NodeIter::to_markdown / to_markdown_skip_frontmatter, and Graph::to_markdown / to_markdown_skip_frontmatter no longer take a KeyIndex and render markdown purely from the collected tree; the *_indexed NodeIter variants are removed. Wiki links are resolved to their display form (per wiki_link_path) when the tree is collected (was at render time) and the result is carried on Reference.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.

Don't miss a new iwe release

NewReleases is sending notifications on new releases.