6个版本

0.1.11 2024年4月20日
0.1.10 2024年3月5日

#429 in 认证

Download history 40/week @ 2024-04-13 235/week @ 2024-04-20 21/week @ 2024-04-27 80/week @ 2024-05-04 48/week @ 2024-05-11 17/week @ 2024-05-18 50/week @ 2024-05-25 3/week @ 2024-06-01 19/week @ 2024-06-08 18/week @ 2024-06-15 18/week @ 2024-06-22 4/week @ 2024-06-29 25/week @ 2024-07-06 15/week @ 2024-07-13 52/week @ 2024-07-20 70/week @ 2024-07-27

每月162次下载

GPL-3.0许可

46KB
732

neocities-client

Crates.io Version GitHub Actions Workflow Status License


neocities-deployGitHub | Codeberg | 发布 | AUR | AUR (git) | AUR (binary)

neocities-clientCodeberg | GitHub | crates.io | docs.rs


这是一个用于与Neocities API交互的Rust库。它是neocities-deploy项目的一部分,这是一个用于部署NeoCities网站的命令行工具。

本项目与Neocities无任何关联。这是一个个人项目,并未得到Neocities的认可。

用法

Client结构体提供了一个与网站API交互的简单接口。要使用它,首先创建一个Client结构体的新实例(将"username:password"替换为您的实际用户名和密码)

let client = Client::builder()
    .auth(Auth::from("username:password"))
    .build()?;

一旦您拥有一个Client实例,您就可以使用其方法与网站API交互。例如,要创建一个API密钥(稍后可以使用它来通过API进行身份验证,而无需提供用户名和密码)

let api_key = client.key()?;
println!("API key: {}", api_key);

或获取有关网站的更多信息

let info = client.info()?;
println!("{:?}", info);

列出网站上的文件

let files = client.list()?;
for file in files {
    println!("{}", file.path);
}

将一个或多个文件上传到网站

client.upload(&[
    ("/1st_file.txt", b"Contents of the first file"),
    ("/2nd_file.txt", b"Contents of the second file"),
])?;

从网站上删除一个或多个文件

client.delete(&["file1.txt", "file2.txt"])?;

有关可用方法的更多信息,请参阅Client结构体的文档。

许可

本项目采用GNU通用公共许可证v3.0许可。有关详细信息,请参阅LICENSE文件。

依赖

约6-8.5MB
~175K SLoC