liwe
Core library for IWE - provides the graph-based document model, markdown parser, and all document operations.
Data model
IWE represents markdown documents as a directed graph using an arena-based memory model:
- Every structural element (header, paragraph, list, list item, code block, table, block reference) becomes a node
- Nodes have two relationships:
next-element(sibling) andchild-element(first child) - Documents are identified by
Key(relative path without.mdextension)
Modules
graph- graph operations, arena storage, node iteration, path computationmodel- core types:Key,NodeId,Content,Position,Configurationmarkdown- markdown parsing and rendering using pulldown-cmarkfind- document search and discovery with fuzzy matchingretrieve- document content retrieval with depth expansion and backlinksoperations- graph transformations: delete, extract, inline, renamestats- knowledge base statistics generationfs- filesystem abstractionstate- document state managementlocale- locale support for date formatting
Usage
use new_for_path;
use ;
use load_config;
let config = load_config;
let fs = new_for_path;
let graph = parse;
License
Apache-2.0
For more information, visit iwe.md.