makeSlug method
Implementation
String makeSlug(String text, {String separator = '-'}) {
Map<String, String> chars = _latinMap();
chars.addAll(_greekMap());
chars.addAll(_turkishMap());
chars.addAll(_russianMap());
chars.addAll(_ukrainianMap());
chars.addAll(_czechMap());
chars.addAll(_polishMap());
chars.addAll(_latvianMap());
chars.addAll(_currencyMap());
chars.addAll(_symbolsMap());
chars.addAll(_vietnameseMap());
String slug = '';
text = text.toLowerCase();
for (var i = 0; i < text.length; i++) {
var char = text[i];
if (chars[char] != null) {
slug += chars[char]!;
} else {
slug += char;
}
}
slug = slug.replaceAll(RegExp(r"[^A-Za-z0-9]"), " ");
//Remove multiple white space
slug = slug.replaceAll(RegExp(' +'), ' ');
//Remove whitespace from first and last
slug = slug.trim();
slug = slug.replaceAll(RegExp(r"\s+"), separator);
return slug;
}