Strune
A simple, directional knowledge structure library for building linked references and word books.
more about: https://project-starlivia.github.io/Strune/
Features
- Core Data Structure: Generic
Node<T>with label, description, dependencies, and customizable options - Markdown & JSON Loaders: Parse knowledge nodes from Markdown or JSON files
- Graph Operations: Calculate reverse dependencies (dependents) and slug mappings
- Static Site Generation: Render knowledge graphs to HTML using Tera templates
- Type-Safe: Leverages Rust's type system with generic options support
Installation
Add Strune to your Cargo.toml:
[]
= "0.1.0"
Quick Start
Loading Nodes from Markdown
// define custom options
impl_maybe_slug!;
impl_maybe_dependents!;
Markdown Syntax
Strune uses an extended Markdown syntax for defining knowledge nodes:
A short explanation of this concept.
- -
Additional metadata as needed
All fields except the label (h1) are optional.
Core Concepts
Node Structure
Dependencies
Dependencies represent directional relationships. A node's dependencies are concepts that compose or contain it:
Unity→ depends onGameEngineBlender↔FBX(mutual dependencies)
Sample
See the sample directory for complete usage examples.
https://project-starlivia.github.io/Strune/
License
MIT License - see LICENSE for details.