2 个不稳定版本
0.1.0 | 2022年12月12日 |
---|---|
0.0.1 | 2022年9月29日 |
#520 in 压缩
57KB
1K SLoC
该crate提供了一个库,用于在单个文件中存储和加载文档内容。
内容组织成页面。页面的集合是书籍。页面和书籍都可以包含元数据条目。
书籍
该crate中的主要类型是Book
。一个Book
可以包含多个页面和元数据条目。
创建新的书籍
使用BookBuilder
创建新的书籍。
使用add_metadata
和new_page
添加内容。
书籍完成后,可以使用dump
进行持久化。
可选地,可以使用set_compression
进行数据压缩。
示例
use theory::{MetadataEntry, Book, Page};
use std::io::{Cursor, Read, Write};
let mut buffer: Vec<u8> = Vec::new();
let mut builder = Book::builder();
builder.new_page("First").set_content("1");
builder.new_page("Second").set_content("2");
builder
.add_metadata(MetadataEntry::Title("Theory Example".into()))
.dump(Cursor::new(&mut buffer));
let book = Book::load(Cursor::new(buffer)).unwrap();
assert_eq!(book.num_pages(), 2);
加载书籍
使用BookBuilder::dump
编写的书籍可以使用Book::load
加载。
crate 特性
特性可以用来控制库中的一些功能
所有特性默认启用。
依赖关系
~0.7–1.3MB
~33K SLoC