Turns strings into user-friendly and search engine-friendly URL slugs.
Slugify uses a dictionary to translate certain glyphs to the alphabet a-z A-Z 0-9
. Beside whitespace, the characters !#$%&()*+,-./:;=?@[\]_|~
are considered as space. All other characters are removed, especially single '
and double "
quotes. Finally, the words are joined, by default with hyphen '-'.
A highlight of this solution is the readability of slugs. Only words and a single separator type are used.
npm i @danieldietrich/slugify
The module supports ES6 import and CommonJS require style.
import slugify from '@danieldietrich/slugify';
// I-love-it
slugify('I ♥ it!');
// I_love_it
slugify('I ♥ it!', '_');
// cafebab3-gmail-com
slugify('cafebab3@gmail.com');
// dos-and-donts
slugify("Do's and Don'ts").toLowerCase();
Copyright © 2020 by Daniel Dietrich. Released under the MIT license.