IWE is a Markdown notes assistant for your favorite text editor. It's a tool that helps you organize your Markdown notes. It treats notes as an interconnected graph, where each document acts as a sub-tree and the links are the edges connecting them. It supports various operations designed to assist with navigating and restructuring the graph.
The main focus of IWE is to help you keep your notes tidy and structured. It works with the graph at the semantic level, understanding the headers, lists and links defined structure of the documents.
IWE allows you to organize notes hierarchically using block-references, all without relying on a folder structure, directly within your favorite editor.
Note
A simple analogy for software engineers would be an IDE for Markdown notes.
IWE functions in two modes, as editor extension and CLI utility
IWE integrates seamlessly with your editor, helping you to:
- Search through your notes
- Navigate through markdown links
- Auto-complete links as you type
- Extract or inline sub-notes seamlessly
- Format the document and refresh link titles
- Rename files and automatically update all related links
- Select backlinks to find references to the current document
- Convert lists into headers and vice versa
- Display inlay hints with parent note references and link counts
Please visit IWE.md for more information and quick start guide.
This tool lets you process thousands of documents in just a second. With IWE, you can reformat documents and update link titles across your entire library. You can also use the CLI mode to combine multiple files into one extended document.
IWE fully depends on community support, which is essential for its growth and development. We encourage you to participate in discussions and report any issues you encounter.
IWE includes a debug mode, which can be enabled by setting the IWE_DEBUG
environment variable. In debug mode, IWE LSP will generate a detailed log file named iwe.log
in the directory where you started it. Including logs with your issue report will help us to resolve it faster.
export IWE_DEBUG=true; nvim
This repository is for Rust code and crates publishing only. Plugins and packages are in separate repositories. If you are willing to help and with non-listed package type, I will add a repo for it.
- VSCode plugin is avialbe here (repository)
- Zed plugin repository
We're looking for a maintainer for the dedicated Neovim plugin.
- A heartfelt thank you to Sergej Podatelew for his outstanding work on the VSCode plugin.
- Deep appreciation to Daniel Fichtinger for his contributions to the project documentation and community.
A huge thank you to my wife, Iryna ❤️, for all her support and for giving me the time I needed to finish this over the weekends!
Thanks to the Rust community for creating such amazing software development tools. I've really enjoyed learning and using them in the process of building IWE.