voca
Version:
The ultimate JavaScript string library
47 lines (40 loc) • 1.26 kB
JavaScript
;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./lower_case.js');
var _const = require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
require('./words.js');
var kebab_case = require('./kebab_case.js');
var latinise = require('./latinise.js');
/**
* Slugifies the `subject`. Cleans the `subject` by replacing diacritics with corresponding latin characters.
*
* @function slugify
* @static
* @since 1.0.0
* @memberOf Manipulate
* @param {string} [subject=''] The string to slugify.
* @return {string} Returns the slugified string.
* @example
* v.slugify('Italian cappuccino drink');
* // => 'italian-cappuccino-drink'
*
* v.slugify('caffé latté');
* // => 'caffe-latte'
*
* v.slugify('хорошая погода');
* // => 'horoshaya-pogoda'
*/
function slugify(subject) {
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
var cleanSubjectString = latinise(subjectString).replace(_const.REGEXP_NON_LATIN, '-');
return kebab_case(cleanSubjectString);
}
module.exports = slugify;