#path #parser #wikidot #parse-url #key-value

wikidot-path

提供与 Wikidot 兼容的路径解析的简单库

14 个版本 (6 个破坏性更改)

0.6.0 2023 年 9 月 29 日
0.5.1 2023 年 4 月 24 日
0.4.1 2023 年 4 月 17 日
0.2.4 2021 年 9 月 9 日
0.1.0 2020 年 1 月 26 日

#wikidot 中排名 3

Download history 14/week @ 2024-03-16 4/week @ 2024-03-23 23/week @ 2024-03-30 11/week @ 2024-04-06 39/week @ 2024-04-13 167/week @ 2024-04-20 38/week @ 2024-04-27 53/week @ 2024-05-04 31/week @ 2024-05-11 31/week @ 2024-05-18 10/week @ 2024-05-25 20/week @ 2024-06-01 23/week @ 2024-06-08 12/week @ 2024-06-15 77/week @ 2024-06-22 17/week @ 2024-06-29

每月下载 131
2 个 crate 中使用 (通过 deepwell)

MIT 许可证

15KB
216 代码行

wikidot-path

Rust CI badge docs.rs link

提供与 Wikidot 兼容的路径解析的简单库。

Wikidot 以非传统方式接受路径:每个参数都被提交为另一个“目录”。

例如,要访问页面 scp-xxxx 并带有选项 norenderedit,您将访问 /scp-xxxx/norender/true/edit/true

然而,这也以几种微小的方式扩展了其使用。例如,像 edit 这样的选项只有在 true 时才有意义,但 Wikidot 总是要求传递该字段。因此,逻辑 URL /scp-xxxx/edit 不起作用,尽管这对人类来说相当清晰。这个库通过允许“独奏键”(没有值的键)来调整这一点。

此外,还会执行 URL 规范化。有关更多信息,请参阅 wikidot-normalize crate。

根据 MIT 许可证提供。请参阅 LICENSE.md

编译

此库针对最新的稳定 Rust。在撰写本文时,那将是 1.68.2

$ cargo build --release

测试

$ cargo test

如果您想看到测试输出,请将 -- --nocapture 添加到末尾。

依赖项

~2.8–4MB
~96K SLoC