#name #random #instance #generator #applications #container #suitable

bin+lib names

一个适合用于容器实例、项目名称、应用程序实例等的随机名称生成器

6 个版本 (重大更新)

0.14.0 2022年6月28日
0.13.0 2022年3月6日
0.12.0 2021年9月12日
0.11.0 2016年4月30日
0.9.0 2015年9月22日

#7命令行工具 中排名

Download history 98429/week @ 2024-03-31 94681/week @ 2024-04-07 65910/week @ 2024-04-14 91404/week @ 2024-04-21 75334/week @ 2024-04-28 68460/week @ 2024-05-05 64884/week @ 2024-05-12 70798/week @ 2024-05-19 75105/week @ 2024-05-26 69312/week @ 2024-06-02 66043/week @ 2024-06-09 62776/week @ 2024-06-16 67492/week @ 2024-06-23 63410/week @ 2024-06-30 68923/week @ 2024-07-07 68602/week @ 2024-07-14

每月下载量 272,458
181 仓库(58 个直接) 中使用

MIT 许可证

80KB
2K SLoC

Shell 1.5K SLoC // 0.0% comments Pan 284 SLoC // 0.0% comments Rust 122 SLoC PowerShell 113 SLoC // 0.3% comments


names

Rust 的随机名称生成器

CI CI Status
Bors enabled
最新版本 Latest version
文档 Documentation
包下载 Crate downloads
GitHub 下载 Github downloads
Docker 拉取 Docker pulls
许可证 Crate license
目录

CLI

用法

简单!无需任何参数运行,即可获得名称

> names
selfish-change

需要更多吗?告诉它需要多少个

> names 10
rustic-flag
nondescript-crayon
picayune-map
elderly-cough
skinny-jeans
neat-rock
aware-sponge
psychotic-coast
brawny-event
tender-oatmeal

不够随机吗?试试添加一个四位数字垫片

> names --number 5
imported-rod-9680
thin-position-2344
hysterical-women-5647
volatile-pen-9210
diligent-grip-4520

如果您有任何疑问,至少有帮助

> names --help
names 0.11.0
Fletcher Nichol <[email protected]>

A random name generator with results like "delirious-pail"

USAGE:
    names [FLAGS] [AMOUNT]

ARGS:
    <AMOUNT>    Number of names to generate [default: 1]

FLAGS:
    -h, --help       Prints help information
    -n, --number     Adds a random number to the name(s)
    -V, --version    Prints version information

安装

install.sh(预构建二进制文件)

提供了一个安装程序,位于 https://fnichol.github.io/names/install.sh,该安装程序为 Linux、macOS、Windows 和 FreeBSD 等常见系统安装合适的预构建二进制文件。它可以下载并本地运行,或者像下面所示地通过“curl-bash”风格将其输入到 shell 解释器中。请注意,如果您反对这种做法,可以自由地查看下面的替代方案。

将系统上的最新版本安装到 $HOME/bin

curl -sSf https://fnichol.github.io/names/install.sh | sh

当安装程序作为 root 运行时,默认安装目录为 /usr/local/bin

curl -sSf https://fnichol.github.io/names/install.sh | sudo sh

有一个从 HEAD 分支构建的 夜间版本 可用,也可以安装

curl -sSf https://fnichol.github.io/names/install.sh \
    | sh -s -- --release=nightly

要查看完整选项集,请使用以下命令查看帮助用法

curl -sSf https://fnichol.github.io/names/install.sh | sh -s -- --help

GitHub 发布版本(预构建二进制文件)

每个版本都包含在GitHub Releases中发布的二进制工件。程序install.sh从该位置下载其工件,因此这充当了手动替代方案。每个工件都附带MD5和SHA256校验和,以帮助在目标系统上验证工件。

Docker 镜像

每个版本都附带一个最小化镜像(包括从主分支的HEAD构建的夜间版本),发布到Docker Hub。入口点直接调用二进制文件,因此任何传递给docker run的参数都将传递给程序。例如,要显示完整帮助用法

docker run fnichol/names --help

Cargo 安装

如果您的系统上已安装Rust,则使用Cargo安装非常简单

cargo install names

从源代码

要从源代码安装,您可以克隆Git存储库,使用Cargo构建并将二进制文件复制到目标目录。这将从主分支的最新提交构建项目,这可能不是最新的稳定版本

> git clone https://github.com/fnichol/names.git
> cd names
> cargo build --release
> cp ./target/release/names /dest/path/

此crate提供了一个生成器,用于构建适合在容器实例、项目名称、应用程序实例等中使用的随机名称字符串

名称Generator实现了Iterator特质,因此它可以与适配器、消费者和循环一起使用。

用法

此crate位于crates.io上,您可以通过将names添加到项目的Cargo.toml文件中的依赖项来使用它

[dependencies]
names = { version = "0.14.0", default-features = false }

示例

示例:简单的默认设置

要开始使用,请使用默认的Generator返回一个名称

use names::Generator;

let mut generator = Generator::default();
println!("Your project is: {}", generator.next().unwrap());
// #=> "Your project is: rusty-nail"

如果需要更多的随机性,您可以使用尾随4位数字生成一个名称

use names::{Generator, Name};

let mut generator = Generator::with_naming(Name::Numbered);
println!("Your project is: {}", generator.next().unwrap());
// #=> "Your project is: pushy-pencil-5602"

示例:使用自定义词典

如果您想提供自己的自定义形容词和名词词汇表,您可以通过提供2个字符串切片来实现。例如,这仅返回一个结果

use names::{Generator, Name};

let adjectives = &["imaginary"];
let nouns = &["roll"];
let mut generator = Generator::new(adjectives, nouns, Name::default());

assert_eq!("imaginary-roll", generator.next().unwrap());

CI 状态

构建(主分支)

操作系统 目标 稳定Rust
FreeBSD x86_64-unknown-freebsd FreeBSD Build Status
Linux arm-unknown-linux-gnueabihf Linux Build Status
Linux aarch64-unknown-linux-gnu Linux Build Status
Linux i686-unknown-linux-gnu Linux Build Status
Linux i686-unknown-linux-musl Linux Build Status
Linux x86_64-unknown-linux-gnu Linux Build Status
Linux x86_64-unknown-linux-musl Linux Build Status
macOS x86_64-apple-darwin macOS Build Status
Windows x86_64-pc-windows-msvc Windows Build Status

测试(主分支)

操作系统 稳定Rust 夜间Rust
FreeBSD FreeBSD Stable Test Status FreeBSD Nightly Test Status
Linux Linux Stable Test Status Linux Nightly Test Status
macOS macOS Stable Test Status macOS Nightly Test Status
Windows Windows Stable Test Status Windows Nightly Test Status

注意:也测试了最低支持Rust版本(MSRV),可以在CI仪表板中查看。

检查(主分支)

状态
代码检查 Lint Status
格式化 Format Status

行为准则

本项目遵守贡献者公约。通过参与,您应遵守此公约。如有任何不适当的行为,请向[email protected]报告。

问题

如果您对这个项目有任何问题或疑问,请通过GitHub问题与我们联系。

贡献

我们邀请您为新的功能、修复或更新做出贡献,无论大小;我们总是很高兴收到pull请求,并尽力尽快处理它们。

在您开始编码之前,我们建议通过GitHub问题讨论您的计划,特别是对于更雄心勃勃的贡献。这给其他贡献者一个机会,引导您走向正确的方向,对您的设计提供反馈,并帮助您了解是否有人在处理相同的事情。

发布历史

查看变更日志以获取完整的发布历史。

作者

Fletcher Nichol ([email protected]) 创建和维护。

许可证

遵循MIT许可协议(LICENSE.txt)。

除非您明确表示,否则根据MIT许可证定义的,您有意提交以包含在该作品中的任何贡献,将按照上述方式许可,不附加任何额外条款或条件。

依赖项

~240–780KB
~14K SLoC