#text #text-generation #random #markov #typography

lipsum

lipsum 是一个 lorem ipsum 文本生成库。它生成伪随机的拉丁文本。如果您需要应用程序的填充或占位文本,请使用此库。文本是通过简单的马尔可夫链生成的,您可以实例化它以生成自己的伪随机文本。

12 个版本 (重大更改)

0.9.1 2024年3月13日
0.9.0 2023年3月28日
0.8.2 2022年6月6日
0.8.0 2021年5月30日
0.3.0 2017年7月28日

#54 in 文本处理

Download history 2711/week @ 2024-04-08 2517/week @ 2024-04-15 2550/week @ 2024-04-22 2921/week @ 2024-04-29 2619/week @ 2024-05-06 3106/week @ 2024-05-13 3117/week @ 2024-05-20 2934/week @ 2024-05-27 3069/week @ 2024-06-03 3182/week @ 2024-06-10 2864/week @ 2024-06-17 2861/week @ 2024-06-24 2525/week @ 2024-07-01 3098/week @ 2024-07-08 3511/week @ 2024-07-15 4526/week @ 2024-07-22

13,934 每月下载量
用于 57 个 Crates (28 个直接使用)

MIT 许可证

35KB
282

Lorem Ipsum

lipsum 是一个用于生成伪拉丁 lorem ipsum 填充文本 的 Rust 小型库。这是一个在出版中使用的标准占位文本。它从以下内容开始:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat…

文本是使用在塞涅卡的工作《De finibus bonorum et malorum》(《论善与恶的终点》)的第一本书上训练的 马尔可夫链 生成的,其中 lorem ipsum 文本是它的一个混乱的子集。

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
lipsum = "0.9"

文档

请参阅 API 文档

入门

使用 lipsum 函数生成 lorem ipsum 文本

use lipsum::lipsum;

fn main() {
    // Print 25 random words of lorem ipsum text.
    println!("{}", lipsum(25));
}

这会生成上面显示的 lorem ipsum 文本

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco…

文本在第 18 个词后变得随机,所以您可能看不到完全相同的文本。

如果您只需要适用于文档标题或章节标题的简短文本,请使用 lipsum_title。该函数生成的文本如下:

Refugiendi et Omnino Rerum

小写字母保持不变,所有单词的标点符号都被删除。

版本历史

这是每个版本中最重要更改的更改日志。

版本 0.9.1 (2024-03-13)

  • #100: 添加 lipsum_title_with_rng 函数。
  • #102: 在 Cargo.toml 中记录 MSRV。
  • #103: 启用 dependabot 更新。

版本 0.9.0 (2023-03-28)

  • #90: 在 CI 中测试最低支持的 Rust 版本(Rust 1.56)
  • #91: 移除对系统随机数的依赖

版本 0.8.2 (2022-06-06)

  • #84: 修复 Rust 1.56 上的构建错误。感谢 @WorldSEnder 提供的反馈。

版本 0.8.1 (2022-04-19)

  • #73: 添加 lipsum_from_seed 并调整大小写。感谢 @reknih!
  • #77: 更新到 Rust 2021 版本。

版本 0.8.0 (2021-05-30)

随机数生成器已被从 MarkovChain 实现中分离出来,以便使用相同的训练模型生成具有不同种子的多个输出。感谢 @Diggsey!

版本 0.7.0 (2020-07-08)

  • 代码已更新到 Rust 2018 版本

  • 每个新版本将仅支持 Rust 的最新稳定版本。尝试支持旧版本的 Rust 已经证明是徒劳的:我们的依赖项不断发布新的补丁版本,需要更新版本的 Rust。

  • #65: 添加了新的 lipsum_words_from_seed 函数。它生成随机但确定的 lorem ipsum 文本。这在单元测试中需要固定输入时很有用。

版本 0.6.0 (2018-12-09)

新的 lipsum_words 函数可以用来生成不总是以 "Lorem ipsum" 开头的随机 lorem ipsum 文本。

已更新依赖项,现在支持的最老版本的 Rust 是 1.22。

版本 0.5.0 (2018-04-22)

新的 lipsum_title 函数可以用来生成适合文档标题或章节标题的短字符串。

已更新依赖项,现在支持的最老版本的 Rust 是 1.17。

版本 0.4.0 (2017-09-24)

generategenerate_from 现在总是生成正确的句子,这意味着它们生成的句子以大写字母开头,并以 . 或其他标点符号结尾。如果您需要更多控制,请直接使用 iteriter_from

版本 0.3.0 (2017-07-28)

生成文本时的性能提高了约 50%,但训练马尔可夫链现在比以前大约需要两倍的时间。

MarkovChain 结构体有许多新方法

  • new_with_rng 使得可以指定马尔可夫链使用的随机数生成器。使用此功能可以获得可预测且可重现的测试输出。由于 MarkovChain 现在拥有它使用的 RNG,因此它有一个额外的类型参数。如果您在代码中直接使用结构体,这将是一个破坏性变更。

  • iterinto_from 返回马尔可夫链中单词的迭代器。现在 generategenerate_from 方法是迭代器的简单便利包装器。

  • len 告诉您马尔可夫链中的状态数量,而 is_empty 告诉您马尔可夫链是否为空,这意味着它尚未在内容上进行训练。

版本 0.2.0 (2017-07-10)

Rust 1.6.0 现在受到支持。这通过 TravisCI 进行检查。

版本 0.1.0 (2017-07-2)

首次公开发布。

许可证

Lipsum 可以根据 MIT 许可证 进行分发。贡献将在相同的许可证下接受。

依赖项

~1.3–2MB
~36K SLoC