Und dann war da das Slug-Problem

smol.pub will, dass man jedem Post einen eigenen slug gibt. Das ist nervig, deswegen muss Abhilfe her, in meinem Fall in Form eines kleinen User Scripts. Ich liebe User Scripts.

Den relevanten Teil hat ChatGPT freundlicherweise für mich erstellt:

function slugger(title) {
  const normalizedTitle = title
    .normalize("NFD")   // Normalize to decomposed form
    .replace(/[\u0300-\u036f]/g, ""); // Remove diacritics

  return normalizedTitle
    .toLowerCase()
    .replace(/\s+/g, '-')    // Replace spaces with hyphens
    .replace(/[^\w-]+/g, '') // Remove non-word characters except hyphens
    .replace(/--+/g, '-')    // Replace consecutive hyphens with a single hyphen
    .trim();                 // Remove leading and trailing spaces/hyphens
}

Das Skript guckt jetzt einfach nur, ob das `title`-Feld verändert wird, und wenn das passiert, schnappt es sich den gerade eingegebenen Titel, macht daraus einen URL-tauglichen Slug und schreibt den ins Slug-Feld.

Komplettes User Script auf GitHub

__________________

Index

RSS