Return String

Naive Slugify Function

I'm sure there is a better way to do this, but this works almost no matter how picky your slug is:

Only allows english letters, numbers and dashes. Replaces spaces with dashes.

 * Creates URI compatible slug from text
 * Only allows english characters, 0-9 and dashes
 * @param {string} text text to slugify
 * @return {string} slug
function slugify(text) {
    return encodeURIComponent(
            .replace(/[^a-zA-Z0-9 -]/g, '')
            .replace(/ /g, '-')
export default slugify;

This may be handy for GatsbyJS or other frameworks that are picky about slugs.