20 个版本 (7 个重大更新)
0.8.0 | 2023 年 7 月 2 日 |
---|---|
0.6.0 | 2022 年 10 月 30 日 |
0.3.0 | 2022 年 7 月 31 日 |
0.1.1 | 2022 年 3 月 16 日 |
#1 in #caldav
每月 26 次下载
用于 task-picker
72KB
1.5K SLoC
minicaldav
小型且易于使用的 CalDAV 客户端。
minicaldav 是一个 CalDAV 客户端和基本的 ICAL 解析器,尽可能少地依赖(但实用)。
项目范围
- 简单:依赖项少,无异步,代码简单
- 正确:正确实现了 CalDAV 和 ICAL
- 已测试:CalDAV 与事件一起工作,并与多个常用服务进行了测试
- 易于使用:良好的文档和直观的 API
项目状态
- 截至目前,minicaldav 未经充分测试且不正确
- 仅在单个 CalDAV 服务器上进行了测试
- minicaldav 作为 https://gitlab.com/floers/karlender 的一部分积极维护
- minicaldav 用于公共应用程序: https://gitlab.com/floers/karlender
快速入门
use url::Url;
use ureq::Agent;
pub fn main() {
let agent = Agent::new();
let url = Url::parse("http://mycaldav.com/").unwrap();
let username = "foo";
let password = "s3cret!";
let calendars = minicaldav::get_calendars(agent.clone(), username, password, &url).unwrap();
for calendar in calendars {
println!("{:?}", calendar);
let (events, errors) = minicaldav::get_events(agent.clone(), username, password, &calendar).unwrap();
for event in events {
println!("{:?}", event);
}
for error in errors {
println!("Error: {:?}", error);
}
}
}
特性
minicaldav 可以通过使用所有功能或仅提供部分功能来提供一个现成的 CalDAV 客户端。
最基本的是 ICAL 类型和解析器
minicaldav = { version = "*", default-features = false, features = [ "ical" ] }
如果您需要 CalDAV 客户端
minicaldav = { version = "*" }
如果您需要 serde
minicaldav = { version = "*", features = [ "serde" ] }
如果您想编译一个基本的 CLI
cargo build --bin minicaldav-cli --features cli
依赖项
~0–12MB
~98K SLoC