#规范化 #Wikidot #正常 #slug #名称

wikidot-normalize

提供与Wikidot兼容的字符串归一化的简单库

19个版本 (11个破坏性更新)

0.12.0 2023年9月29日
0.11.0 2023年4月16日
0.10.0 2022年5月11日
0.9.2 2021年9月9日
0.3.0 2019年10月20日

#379 in 文本处理

Download history 38/week @ 2024-03-16 21/week @ 2024-03-23 43/week @ 2024-03-30 16/week @ 2024-04-06 48/week @ 2024-04-13 126/week @ 2024-04-20 49/week @ 2024-04-27 87/week @ 2024-05-04 40/week @ 2024-05-11 48/week @ 2024-05-18 17/week @ 2024-05-25 28/week @ 2024-06-01 29/week @ 2024-06-08 24/week @ 2024-06-15 88/week @ 2024-06-22 21/week @ 2024-06-29

165 个月下载量
用于 4 个crate(3个直接使用)

MIT 许可证

19KB
299

wikidot-normalize

Rust CI badge docs.rs link

提供与Wikidot兼容的字符串归一化的简单库。它是Rust版本的WDStringUtils::toUnixName功能。

Wikidot规范形式用于网站的页面名称。本质上,它确保以下内容

  • 所有ASCII字符都是小写。
  • :a-z0-9-之外的所有字符都替换为短横线。
  • 下划线只能作为第一个字符。
  • 任何前导或尾随短横线都将被删除。
  • 任何一组多个短横线都替换为一个短横线。
  • 任何一组多个冒号都替换为一个冒号。

示例

  • "Big Cheese Horace" -> "big-cheese-horace"
  • "bottom--Text" -> "bottom-text"
  • "Tufto's Proposal" -> "tufto-s-proposal"
  • "-test-" -> "test"

此库正在接近最终版本,并已发布v1.0.0版本。

在MIT许可证下提供。请参阅LICENSE.md

编译

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

$ cargo build --release

测试

$ cargo test

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

依赖

~2.7–4MB
~93K SLoC