Crates.io | str_slug |
lib.rs | str_slug |
version | 0.1.3 |
source | src |
created_at | 2020-04-10 02:34:59.600779 |
updated_at | 2020-04-10 13:13:38.332881 |
description | Generate a URL friendly slug from the given string |
homepage | |
repository | https://github.com/OussamaElgoumri/str_slug |
max_upload_size | |
id | 228206 |
size | 11,756 |
str_slug
generates url friendly slug
from the given string.
slug
, slug_hash
, slag_hash_len
StrSlug::new
For more examples please check the Documentation
NORMAL
use str_slug::slug;
let slug = slug("hello world");
assert_eq!(slug, "hello-world");
WITH HASH
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
will take precedence when set to true
.