v0.4.5
[0.4.5] - 2025-12-04
Added
-
Document overview for headerless files - Files without a top-level heading now show a "(Document)" entry in the outline (#25)
- Displays 馃搫 icon in outline for the document overview
- Shows entire file content including tables and text before the first heading
- Automatically added when there's preamble content or no headings at all
-
Wikilink rendering in content - Wikilinks now render as clickable links in the content pane
[[target]]displays as link with target as text[[target|alias]]displays alias text linking to target- Works in both interactive mode and link follow mode
- Preprocessing converts wikilinks to standard markdown links for consistent parsing
-
Links with spaces in URLs - Links like
[text](path/to/my file.md)now work correctly- CommonMark doesn't support spaces in URLs, but many wikis use them
- Preprocessing converts to angle bracket syntax for compatibility
-
File creation prompts - Following links to non-existent files prompts to create them
- Confirmation dialog with
[y]to create,[n/Esc]to cancel - Creates file with default heading based on filename
- Automatically opens the newly created file
- Works for both relative links and wikilinks
- Confirmation dialog with
-
Page navigation in interactive mode - Scroll content while staying in interactive mode
- Press
uorPgUpto scroll up - Press
dorPgDnto scroll down - Maintains element selection while scrolling
- Press
Fixed
-
Screen artifacts when scrolling - Fixed rendering artifacts caused by tab characters in code blocks (#26)
- Tabs are now converted to 4 spaces in code block syntax highlighting
- Also applies to raw markdown view for consistency
-
Shift+Tab navigation - Fixed Shift+Tab not working for backwards navigation (#18)
- Now uses
KeyCode::BackTabinstead of checking modifiers - Works correctly in both interactive mode and link follow mode
- Now uses
-
Interactive mode scroll preservation - Entering interactive mode no longer jumps to first element
- Now selects the element closest to current scroll position
- Preserves user's view when toggling interactive mode
-
Wikilink anchor support - Wikilinks now support section anchors
[[filename#section]]loads file and jumps to heading[[#section]]jumps to heading in current document
-
Relative file link improvements - Better handling of wiki-style links without extensions
- Files without extension now try
.mdfirst before opening in editor - Improves compatibility with Obsidian and other wiki tools
- Files without extension now try
Changed
-
Interactive mode status bar - Updated to show page navigation hints
- Now displays:
[INTERACTIVE] Tab:Next Shift+Tab:Prev u/d:Page Esc:Exit
- Now displays:
-
Help text updated - Interactive mode section includes new keybindings
- Added
u/dfor page up/down navigation
- Added
Technical
-
Wikilink preprocessing (
src/parser/content.rs)preprocess_wikilinks()converts[[target]]to[target](wikilink:target)before parsingpreprocess_links_with_spaces()wraps URLs containing spaces in angle brackets- Both use compiled regex with
OnceLockfor performance
-
File creation flow (
src/tui/app.rs)AppMode::ConfirmFileCreatefor pending file creation statepending_file_createandpending_file_create_messagefieldsconfirm_file_create()andcancel_file_create()methods
-
Interactive mode improvements (
src/tui/interactive.rs)enter_at_scroll_position()selects element closest to scroll position- Elements sorted by line position after indexing for proper navigation order
- Wikilinks detected via
wikilink:URL prefix from preprocessing
-
Page navigation (
src/tui/app.rs,src/tui/mod.rs)scroll_page_down_interactive()andscroll_page_up_interactive()methods- Keybindings for
u/d/PgUp/PgDnin interactive mode
-
File creation popup (
src/tui/ui/popups.rs)render_file_create_confirm()renders themed confirmation dialog
Acknowledgements
Special thanks to @firecat53 for the tremendous support in QA and UX
Full Changelog: v0.4.4...v0.4.5