4个版本
0.1.3 | 2020年4月10日 |
---|---|
0.1.2 | 2020年4月10日 |
0.1.1 | 2020年4月10日 |
0.1.0 | 2020年4月10日 |
#5 in #slug
33 每月下载
在 4 个crate中使用 (3 直接使用)
11KB
173 代码行
从给定字符串生成URL友好的'slug'
str_slug
从给定字符串生成URL友好的slug。
特性
- 正确的Unicode支持。
- 能够将给定值的哈希值附加/添加到生成的slug中。
- 提供简单易用的APIs
slug
,slug_hash
,slag_hash_len
- 当你需要时,通过
StrSlug::new
进行完全自定义
示例
更多示例请查看文档
简单用法
正常
use str_slug::slug;
let slug = slug("hello world");
assert_eq!(slug, "hello-world");
带哈希
use str_slug::slug_hash;
let slug = slug_hash_len("Hello, world ;-)", 6);
assert_eq!("hello-world_ea1ac5", slug);
选项
pub struct StrSlug {
pub use_hash: bool,
/// if its set to false the hash will be prepended
pub append_hash: bool,
/// use full hash if `hash_len` = 0
pub hash_len: usize,
/// separator to use to separate slug and hash
pub hash_separator: char,
pub separator: char,
pub remove_duplicate_separators: bool,
/// Trim leading and trailing separators after slugifying the given string.
pub trim_separator: bool,
pub trim_separator_start: bool,
pub trim_separator_end: bool,
}
默认值
pub fn new() -> Self {
Self {
use_hash: false,
append_hash: true,
hash_len: 6,
hash_separator: '_',
separator: '-',
remove_duplicate_separators: true,
trim_separator: true,
trim_separator_start: false,
trim_separator_end: false,
}
}
trim_separator
当设置为 true
时将优先使用。
依赖
~170–560KB
~10K SLoC