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

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

Install

npm install mollusc

Usage

constslug=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%