12 个版本 (稳定版)
3.3.0 | 2024 年 7 月 12 日 |
---|---|
3.0.0 | 2024 年 4 月 1 日 |
2.2.1 | 2022 年 10 月 6 日 |
2.0.0 | 2022 年 6 月 15 日 |
0.10.0 | 2017 年 6 月 21 日 |
#31 in 文本处理
30,489 每月下载量
在 40 个 Crates 中使用 (20 个直接使用)
21KB
376 行
标题大写 (titlecase)
titlecase
是一个小工具和库(crate),根据 John Gruber 为其网站 Daring Fireball 上的帖子标题定义的样式首字母大写英文文本。 titlecase
应该能在 Rust 支持的所有平台上运行,包括 Linux、macOS、FreeBSD、NetBSD、OpenBSD 和 Windows。
在线尝试
命令行使用
titlecase
从 stdin 读取文本行,并将标题大写版本打印到 stdout。
示例
% echo 'Being productive on linux' | titlecase
Being Productive on Linux
% echo 'Finding an alternative to Mac OS X — part 2' | titlecase
Finding an Alternative to Mac OS X — Part 2
% echo 'an example with small words and sub-phrases: "the example"' | titlecase
An Example With Small Words and Sub-Phrases: "The Example"
安装
预编译的二进制文件
某些平台上有预编译的二进制文件,请检查 最新版本。
从源代码安装
如果您已安装稳定的 Rust 编译器工具链,则可以使用 cargo 安装最新发布的 titlecase
cargo install titlecase
作为 Rust Crate 使用
最低支持的 Rust 版本 1.70.0
请参阅 crate 文档。
为 WebAssembly 构建
先决条件
- Rust 1.73.0+
- Rust
wasm32-unknown-unknown
目标(使用rustup target add wasm32-unknown-unknown
或 Chimera Linux 上的rust-wasm
软件包) - wasm-bindgen(Arch 上的
wasm-bindgen
软件包或使用cargo install wasm-bindgen-cli --version 0.2.92
安装) make
(GNU 或 BSD 应该可以工作)
构建
有一个 Makefile
自动化 WebAssembly 的构建。
make
输出将放入 wasm
目录。请参阅 https://github.com/wezm/7bit.org/tree/main/public/titlecase 以了解使用 wasm 构建的示例。
样式
而不是简单地首字母大写每个单词 titlecase
执行以下操作(以及其他事项)
- 小写单词如 an、of、or、in。
- 不要将如 iPhone 这样的单词大写。
- 不要干扰文件路径、URL、域名和电子邮件地址。
- 始终大写第一个和最后一个单词,即使它们是小型单词或被引号包围。
- 不要干扰像 "Q&A" 或 "AT&T" 这样的术语。
- 冒号后面的单词要大写。
致谢
此工具利用了 John Gruber、Aristotle Pagaltzis 和 David Gouch 的先前工作(请参阅相关链接)。
依赖项
~2.7–4MB
~70K SLoC