2021-10-11 13:50:24 +00:00
|
|
|
export const slugify = (title) => {
|
|
|
|
let str = title.replace(/^\s+|\s+$/g, '') // trim
|
|
|
|
str = str.toLowerCase()
|
|
|
|
|
|
|
|
// remove accents, swap ñ for n, etc
|
|
|
|
const from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;'
|
|
|
|
const to = 'aaaaeeeeiiiioooouuuunc------'
|
|
|
|
for (let i = 0, l = from.length; i < l; i++) {
|
|
|
|
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i))
|
|
|
|
}
|
|
|
|
|
|
|
|
str = str
|
|
|
|
.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
|
|
|
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
|
|
|
.replace(/-+/g, '-') // collapse dashes
|
|
|
|
|
|
|
|
return str
|
|
|
|
|
2021-10-12 12:45:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export const capitaliseFirstLetter = word =>
|
|
|
|
word ? `${word?.charAt(0).toUpperCase()}${word?.slice(1)}` : '';
|
|
|
|
|
|
|
|
export const camelise = str => {
|
|
|
|
return str
|
|
|
|
.replace(/(?:^\w|[A-Z]|\b\w)/g, (letter, index) => {
|
|
|
|
return index === 0 ? letter.toLowerCase() : letter.toUpperCase();
|
|
|
|
})
|
|
|
|
.replace(/\s+/g, '');
|
|
|
|
};
|