str_slug 0.1.1

Generate a URL friendly slug from the given string
Documentation
# Generate a URL friendly 'slug' from the given string

`str_slug` generates url friendly [slug](https://en.wikipedia.org/wiki/Clean_URL#Slug)
from the given string.

### Features
- correct unicode support.
- ability to append/prepend a hash of the given value to the generated slug.
- provide a simple to use apis `slug`, `slug_hash`, `slag_hash_len`
- fully customizable when you need it via `StrSlug::new`

# Examples

For more examples please check the [Documentation](https://docs.rs/str_slug)

### Simple usage

**NORMAL**

```rust
use str_slug::slug;

let slug = slug("hello world");
assert_eq!(slug, "hello-world");
```

**WITH HASH**

```rust
use str_slug::slug_hash;

let slug = slug_hash_len("Hello, world ;-)", 6);
assert_eq!("hello-world_ea1ac5", slug);
```

### Options

```rust
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,
    pub trim_separator_start: bool,
    pub trim_separator_end: bool,
    pub trim_separator_both: bool,
}
```

### Defaults

```rust
pub fn new() -> Self {
    Self {
        use_hash: false,
        append_hash: true,
        hash_len: 6,
        hash_separator: '_',

        separator: '-',
        remove_duplicate_separators: true,

        trim_whitespace: true,
        trim_whitespace_start: false,
        trim_whitespace_end: false,

        trim_separator: true,
        trim_separator_start: false,
        trim_separator_end: false,
    }
}
```

`trim_whitespace` and `trim_separator` will take precedence when set to `true`.

### Usage

```rust
let sentence = "quick brown fox jumps over the lazy dog";
let slug = str_slug::slug(sentence);

// quick-brown-fox-jumps-over-the-lazy-dog
```

with a hash

```rust
let sentence = "quick brown fox jumps over the lazy dog";
let slug = str_slug::slug_hash(sentence);

// quick-brown-fox-jumps-over-the-lazy-dog_ce2907
```