5 个版本 (1 个稳定版本)
1.0.0 | 2021 年 2 月 18 日 |
---|---|
0.8.0 | 2021 年 2 月 9 日 |
0.7.75 | 2021 年 1 月 24 日 |
0.2.25 | 2021 年 1 月 14 日 |
0.1.0 | 2021 年 1 月 14 日 |
#1933 in 网页编程
190KB
516 行
PasteMyst.RS
pastemyst-rs 是一个用 Rust 编写的 pastemyst API 包装器。
⚠ 此软件包处于开发中 ⚠
示例用法
同步从 pastemyst 获取粘贴
use pastemyst::paste;
use pastemyst::paste::PasteObject;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let paste: PasteObject = paste::get_paste("hipfqanx")?;
println!("{}", paste.pasties[1].language);
Ok(())
}
同步创建粘贴
use pastemyst::paste;
use pastemyst::paste::PasteObject;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let pasties: Vec<PastyObject> = vec![
PastyObject {
_id: str!(""),
language: str!(pastemyst::data::language::RUST),
title: "A pasty title".to_string(),
code: String::from("fn main() { println!(\"Hello World!\"); }"),
},
PastyObject {
_id: str!(""),
title: "Another pasty title".to_string(),
language: str!(pastemyst::data::language::CLANG),
code: String::from("#include \"stdio.h\"\n\nint main() {\n\tprintf(\"Hello World!\");\n}"),
},
];
let data: CreateObject = CreateObject {
title: String::from("[crates.io/crates/pastemyst] This is a title"),
expiresIn: String::from("1d"),
isPrivate: false,
isPublic: false,
tags: String::from(""),
pasties: pasties,
};
let paste: /*reqwest::Response*/ = paste::create_paste(data).unwrap(); // You don't need to add the commented part, that's jut for your information.
println!("{}", paste._id);
Ok(())
}
特性支持
特性 | 支持 | 异步 |
---|---|---|
API v1 | ✔ | ⛔ |
API v2 | ✔ | ⛔ |
获取粘贴 | ✔ | ✔ |
获取私有粘贴 | ✔ | ✔ |
创建粘贴 | ✔ | ✔ |
创建私有粘贴* | ✔ | ✔ |
编辑粘贴 | ✔ | ✔ |
删除粘贴 | ✔ | ✔ |
获取用户 | ✔ | ✔ |
检查用户是否存在 | ✔ | ✔ |
按名称获取语言 | ✔ | ✔ |
按扩展名获取语言 | ✔ | ✔ |
过期时间转换为 Unix 时间戳 | ✔ | ✔ |
✔ = 完成/已实现且功能完善
❌ = 未完成/未实现
⛔ = 不适用
*这还包括与您的账户关联的粘贴,或创建私有/公共粘贴,或使用标签。
仓库结构
这是当前代码的结构
./
├───.github/
│ ├─.workflows/
│ │ └─ rust.yml
│ └─ISSUE_TEMPLATES/
│ ├─ bug_report.md
│ ├─ feature_request.md
│ ├─ documentation.md
│ └─ question.md
├───examples/
│ ├─ paste.rs
│ ├─ time.rs
│ ├─ data.rs
│ └─ user.rs
├───src/
│ └─ lib.rs
├─── .gitattributes
├─── .gitignore
├─── Cargo.toml
├─── LICENSE
└─── README.MD
构建和运行
由于 pastemyst-rs 是一个 Rust 库,因此需要安装 Rust 编译器。要检查是否已安装,请运行:rustc --version
和 cargo --version
以验证。如果没有安装,请从其 网站 安装。一旦解决;运行 cargo install
获取软件包。要亲手测试,可以
- 创建一个具有主方法的 main.rs 并运行这些测试 (
cargo run
)。 - 从示例中运行,使用
cargo run --example example_name
,例如cargo run --example get_paste
。
安装
如果您想在Rust应用程序中使用它,建议从 https://crates.io/crates/pastemyst 获取crate。在您的 Cargo.toml
文件中,在 [dependencies]
下粘贴以下内容
pastemyst = "<Replace this text with the latest version>"
# OR
pastemyst = { version = "<Replace this text with the latest version>" }
版本管理
pastemyst-rs 使用 SemVer。
给定版本号 MAJOR.MINOR.PATCH,当您进行不兼容的API更改时,增加
MAJOR
版本,当您以向后兼容的方式添加功能时,增加
MINOR
版本,当您进行向后兼容的错误修复时,增加
PATCH
版本。预发布和构建元数据的额外标签作为 MAJOR.MINOR.PATCH 格式的扩展可用。
帮助/支持
您可以 创建一个问题 或直接加入支持(discord)服务器。
依赖项
~5–17MB
~254K SLoC