https://github.com/up9cloud/node-simple-slugify
Slugify a string, simply replace "Reserved characters", and "Unsafe characters" to "-"
https://github.com/up9cloud/node-simple-slugify
Last synced: 4 months ago
JSON representation
Slugify a string, simply replace "Reserved characters", and "Unsafe characters" to "-"
- Host: GitHub
- URL: https://github.com/up9cloud/node-simple-slugify
- Owner: up9cloud
- License: mit
- Created: 2020-05-02T18:54:16.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T05:57:42.000Z (over 3 years ago)
- Last Synced: 2025-10-02T04:37:44.104Z (9 months ago)
- Language: JavaScript
- Size: 333 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# simple-slugify
[](https://travis-ci.org/up9cloud/simple-slugify)
[](https://coveralls.io/github/up9cloud/simple-slugify?branch=master)
Slugify a string, simply replace "Reserved characters", and "Unsafe characters" to "-".
## Usage
```js
const { slugify } = require('simple-slugify')
slugify('I ♥') // i-♥
slugify('大好き ♥', '_') // 大好き_♥
```
```html
console.log(simpleSlugify.slugify('I ♥')) // i-♥
```
## Api
```js
const {
defaultOptions,
slugify,
Slugify
} = require('simple-slugify')
```
### defaultOptions
```js
console.log(defaultOptions)
// {
// lowercase: true,
// normalize: 'NFKC',
// replacement: '-',
// reserved: true,
// unsafe: true,
// trim: true,
// spaceLess: true,
// space: true
// }
```
> See details at `./src/index.js` `const defaultOptions`
### slugify
```ts
slugify(source: string, [replacement: string | options: object]): string
```
```js
slugify(' A?# b ') // a---b
slugify(' A?# b ', '_') // a___b
slugify(' A?# b ', {
lowercase: false,
replacement: '_',
trim: false,
spaceLess: false,
space: '-'
}) // -A__--b-
```
### Slugify
```ts
const s = new Slugify
// memorize slug, make sure the returning slug is unique
s.slug(source: string, [replacement: string | options: object], [separator: string]): string
// clear memory
s.reset(): void
```
```js
const { Slugify } = require('simple-slugify')
const s = new Slugify
s.slug('大好き ♥') // 大好き-♥
s.slug('大好き ♥') // 大好き-♥.1
s.reset()
s.slug('大好き ♥') // 大好き-♥
s.slug('大好き ♥', { space: false }, '_') // 大好き ♥
s.slug('大好き ♥', { space: false }, '_') // 大好き ♥_1
s.slug('大好き ♥_1', { space: false }, '_') // 大好き ♥_1_1
```
```html
var s = new simpleSlugify.Slugify()
console.log(s.slug('I ♥')) // i-♥
console.log(s.slug('I ♥')) // i-♥.1
```
## Why
This lib focus on world wide human readable url, doesn't translate things to English. The non-english native people actually don't know too much English as programmers thought. So this lib converts characters only if necessary, only cover [reserved, unsafe characters](https://perishablepress.com/stop-using-unsafe-characters-in-urls/).
If you are looking for lib translating characters, please consider [https://github.com/simov/slugify](https://github.com/simov/slugify).