UNPKG

aubade

Version:

filesystem-based content processor

11 lines (10 loc) 489 B
const separators = /[\s\][!"#$%&'()*+,./:;<=>?@\\^_{|}~-]/g; export function escape(source) { const symbols = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }; return source.replace(/[&<>"']/g, (s) => symbols[s]); } export function uhi(title) { const cleaned = title.toLowerCase().replace(separators, '-'); const normalized = cleaned.replace(/`/g, '').replace(/-+/g, '-'); return normalized.replace(/^-*(.+?)-*$/, '$1'); // hyphen at the sides }