#obsidian #archive #reader #plugin #file-metadata

bin+lib obsidian-lib

A library for reading and extracting files from Obsidian .obby plugin files

3 unstable releases

0.2.1 Jan 1, 2025
0.2.0 Dec 31, 2024
0.1.0 Dec 31, 2024

#202 in Compression

Download history 123/week @ 2024-12-25 374/week @ 2025-01-01 81/week @ 2025-01-08

578 downloads per month

MIT license

2MB
274 lines

obsidian-lib

Crates.io Documentation

A Rust library for reading and extracting files from Obsidian .obby plugin files.

Features

  • Read .obby file metadata
  • List all entries in an .obby file
  • Extract specific files from the archive
  • Handles both compressed and uncompressed entries
  • Convenience function for extracting plugin.json

Installation

Add this to your Cargo.toml:

[dependencies]
obsidian-lib = "0.1.0"

Usage

use obsidian_lib::{ObbyReader, extract_plugin_json};
use std::path::Path;

// Extract just plugin.json
let json = extract_plugin_json(Path::new("path/to/plugin.obby"))?;
println!("Plugin JSON: {}", json);

// Or work with the archive more generally
let mut reader = ObbyReader::open(Path::new("path/to/plugin.obby"))?;

// List all entries
println!("Available entries: {:?}", reader.list_entries());

// Extract specific entry
let data = reader.extract_entry("plugin.json")?;

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Dependencies