diff --git a/browser/lib/slugify.js b/browser/lib/slugify.js index 0ff21245..3b6386de 100644 --- a/browser/lib/slugify.js +++ b/browser/lib/slugify.js @@ -1,6 +1,17 @@ -module.exports = function slugify (title) { - return encodeURI(title.trim() - .replace(/[\]\[\!\"\#\$\%\&\'\(\)\*\+\,\.\/\:\;\<\=\>\?\@\\\^\_\{\|\}\~]/g, '') - .replace(/\s+/g, '-')) - .replace(/\-+$/, '') +import diacritics from 'diacritics-map' + +function replaceDiacritics(str) { + return str.replace(/[À-ž]/g, function(ch) { + return diacritics[ch] || ch; + }); +} + +module.exports = function slugify (title) { + let slug = title.trim() + + slug = replaceDiacritics(slug) + + slug = slug.replace(/[^\w\s-]/g, '').replace(/\s+/g, '-') + + return encodeURI(slug).replace(/\-+$/, '') }