#引用 #参考书目 #CSL

引用山

CSL 文件解析器

5 个不稳定版本

0.3.1 2024 年 5 月 16 日
0.3.0 2024 年 3 月 6 日
0.2.0 2024 年 3 月 6 日
0.1.1 2023 年 11 月 24 日
0.1.0 2023 年 10 月 31 日

#573解析器实现

Download history 921/week @ 2024-05-01 606/week @ 2024-05-08 2294/week @ 2024-05-15 1535/week @ 2024-05-22 1028/week @ 2024-05-29 1265/week @ 2024-06-05 1221/week @ 2024-06-12 1166/week @ 2024-06-19 1056/week @ 2024-06-26 1249/week @ 2024-07-03 1196/week @ 2024-07-10 1174/week @ 2024-07-17 1004/week @ 2024-07-24 1159/week @ 2024-07-31 1001/week @ 2024-08-07 1133/week @ 2024-08-14

4,558 次每月下载
29 个包中使用 (通过 hayagriva)

MIT/Apache

200KB
4K SLoC

引用山

Crates.io Documentation Build status

Dinkelberg meme: Dad from the TV show The Fairly Odd Parents exclaiming Citationberg

解析 CSL 风格的库。

[dependencies]
citationberg = "0.3"

引用山将 CSL 风格从 XML 反序列化为 Rust 结构体。它支持 CSL 1.0.2

此包不是 CSL 处理器,因此您可以根据自己的参考文献需求自由选择所需的数据模型和数据类型。如果您需要渲染引用,可以使用 Hayagriva,该工具底层使用此包。

这样解析您的风格

use std::fs;
use citationberg::Style;

let string = fs::read_to_string("tests/independent/ieee.csl")?;
let style = citationberg::Style::from_xml(&string)?;

let Style::Independent(independent) = style else {
    panic!("IEEE is an independent style");
};

assert_eq!(independent.info.title.value, "IEEE");

如果您想运行测试,请确保将 CSL styleslocales 仓库检查到 引用山 的同级文件夹中。

安全性

此包禁止使用不安全代码。

许可证

此包同时受 MIT 和 Apache 2.0 许可证的约束。

依赖项

~1.6–2.3MB
~44K SLoC