lepiter-core 0.6.0

core parser and lazy index api for lepiter knowledge bases
Documentation

core data model and parser for lepiter knowledge bases stored as page json files.

scope

  • scans a lepiter directory and builds a metadata index keyed by page id.
  • loads and parses individual pages lazily by id.
  • converts page snippet trees into a stable block-oriented node model.
  • preserves unknown node types as [Node::Unknown] to keep consumers resilient.
  • provides a plugin sdk for external snippet renderers (plugin module).

example

use lepiter_core::KnowledgeBase;

# fn main() -> anyhow::Result<()> {
let index = KnowledgeBase::open("./lepiter")?;
for page in index.sorted_pages_by_title() {
    println!("{} - {}", page.id, page.title);
}
# Ok(())
# }

plugin sdk

use lepiter_core::plugin::{PluginRequest, PluginResponse};
use lepiter_core::lepiter_plugin_main;

fn handle(req: PluginRequest) -> PluginResponse {
    if req.typ != "wardleyMap" {
        return PluginResponse::error("unsupported type");
    }
    PluginResponse::ok(vec!["example".to_string()])
}

lepiter_plugin_main!(handle);