#规范化 #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 • Rust 包仓库 38/week @ 2024-03-16 • Rust 包仓库 21/week @ 2024-03-23 • Rust 包仓库 43/week @ 2024-03-30 • Rust 包仓库 16/week @ 2024-04-06 • Rust 包仓库 48/week @ 2024-04-13 • Rust 包仓库 126/week @ 2024-04-20 • Rust 包仓库 49/week @ 2024-04-27 • Rust 包仓库 87/week @ 2024-05-04 • Rust 包仓库 40/week @ 2024-05-11 • Rust 包仓库 48/week @ 2024-05-18 • Rust 包仓库 17/week @ 2024-05-25 • Rust 包仓库 28/week @ 2024-06-01 • Rust 包仓库 29/week @ 2024-06-08 • Rust 包仓库 24/week @ 2024-06-15 • Rust 包仓库 88/week @ 2024-06-22 • Rust 包仓库 21/week @ 2024-06-29 • Rust 包仓库

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