index.js 675 B

12345678910111213141516171819202122232425
  1. var SYMBOLS = [
  2. '[', ']', '!', '"', '\'', '#',
  3. '$', '%', '&', '(', ')', '*', '+', ',', '.', '/', ':', ';', '<', '=',
  4. '>', '?', '@', '', '', '^', '_', '`', '{', '|', '}', '~',
  5. '©', '∑', '®', '†', '“', '”', '‘', '’', '∂', 'ƒ', '™', '℠', '…',
  6. 'œ', 'Œ','˚', 'º', 'ª', '•', '∆', '∞', '♥', '&', '|'
  7. ];
  8. function slug(content, separator) {
  9. separator = separator || '-';
  10. var re = new RegExp('[\\'+SYMBOLS.join('\\')+']+', 'g');
  11. var s = content
  12. .replace(re, '')
  13. .replace(/ /g, separator)
  14. .toLowerCase();
  15. if (s[0] == separator) s = s.slice(1);
  16. return s;
  17. }
  18. module.exports = slug;