Skip to content

Zertz/mollusc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Make strings url-safe and replace unicode symbols with their name

  • respecting RFC 3986
  • Comprehensive tests
  • No dependencies, except unicode data
  • Coerces foreign symbols to their english equivalent

Install

npm install mollusc

Usage

const slug = require('mollusc')

slug('i ♥ unicode')
//= i-love-unicode

slug('unicode ♥ is ☢')
//= unicode-love-is-radioactive

slug('i ♥ unicode', {
  replacement: '_'
})
//= i_love_unicode

slug.charmap['♥'] = 'freaking love'
slug('I ♥ UNICODE')
//= i-freaking-love-unicode

slug('☏-NUMBER', {
  lower: false
})
//= telephone-NUMBER

API

slug(input[, options])

options

replacement

Replace spaces with value.

Type: string

Default: -

symbols

Replace unicode symbols with their name.

Type: boolean

Default:

  • Node: true
  • Browser: false

remove

Regex to remove characters.

Type: boolean

Default: null

lower

Convert result to lower case.

Type: boolean

Default: true

limit

Result should have no more than that many words.

Type: number

Default: null

charmap

Replace special characters.

Type: object

Default: slug.charmap

multicharmap

Replace strings with another string.

Type: object

Default: slug.multicharmap

Browser

When using browserify you might want to remove the symbols table from your bundle.

browserify slug.js --ignore unicode/category/So -s slug > slug-browser.js

About

slugifies even utf-8 chars!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%