#title #case #capitalization #text-style #wasm #capitalisation

bin+lib titlecase

根据 John Gruber 为 Daring Fireball 定义的样式首字母大写文本

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 文本处理

Download history 5886/week @ 2024-05-01 4930/week @ 2024-05-08 5335/week @ 2024-05-15 5673/week @ 2024-05-22 6562/week @ 2024-05-29 6558/week @ 2024-06-05 6809/week @ 2024-06-12 6266/week @ 2024-06-19 6705/week @ 2024-06-26 6235/week @ 2024-07-03 6351/week @ 2024-07-10 6160/week @ 2024-07-17 7900/week @ 2024-07-24 7233/week @ 2024-07-31 7397/week @ 2024-08-07 6787/week @ 2024-08-14

30,489 每月下载量
40 个 Crates 中使用 (20 个直接使用)

MIT 许可证

21KB
376

标题大写 (titlecase)

titlecase 是一个小工具和库(crate),根据 John Gruber 为其网站 Daring Fireball 上的帖子标题定义的样式首字母大写英文文本。 titlecase 应该能在 Rust 支持的所有平台上运行,包括 Linux、macOS、FreeBSD、NetBSD、OpenBSD 和 Windows。

Build Status crates.io Documentation License

在线尝试

https://7bit.org/titlecase/

命令行使用

titlecasestdin 读取文本行,并将标题大写版本打印到 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