piki-core 0.2.0

Core library for Piki personal wiki application
Documentation
  • Coverage
  • 41.67%
    5 out of 12 items documented0 out of 0 items with examples
  • Size
  • Source code size: 39.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.41 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • roblillack/piki
    2 0 4
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • roblillack

✜ Piki – core library

Core library for Piki personal wiki application

[!IMPORTANT]
This is the crate-level README for the piki-core library only. For overall Piki documentation, see the main repo.

This crate provides the shared functionality used by both the CLI and GUI frontends of Piki. It handles document storage, plugin system, and core wiki operations.

Overview

piki-core is a Rust library that provides the foundation for managing a personal wiki using plain Markdown files. It's designed to be backend-agnostic, allowing different frontends (CLI, GUI, etc.) to build on top of it.

Features

  • Document Store: Manages Markdown files on the filesystem
  • Plugin System: Extensible architecture for dynamic pages
  • Git-friendly: Works seamlessly with version-controlled directories
  • Cross-platform: Works on Windows, macOS, Linux, and BSD
  • No Dependencies on UI: Pure Rust library with no GUI dependencies

Usage

Add this to your Cargo.toml:

[dependencies]
piki-core = "0.1.1"

Architecture

The core library provides:

  • Document Management: Reading, writing, and organizing Markdown files
  • Plugin System: Built-in !index plugin and extensible plugin API for dynamic content
  • Link Resolution: Handling both Markdown links ([text](page.md)) and wiki-style links ([[PageName]])
  • File Operations: Safe file I/O with parent directory creation

Plugin System

The plugin system allows for dynamic pages with a ! prefix. Built-in plugins include:

  • !index - Lists all pages in the wiki

Plugins are read-only and generate content dynamically rather than being stored on disk.

License

MIT License