caption: slugify created: 20200509141702846 modified: 20200509141702846 op-input: a [[selection of titles|Title Selection]] op-output: the input titles transformed so that they only contain lower case letters, numbers, periods, dashes and underscores op-purpose: returns each item in the list in a human-readable form for use in URLs or filenames tags: [[Filter Operators]] title: slugify Operator type: text/vnd.tiddlywiki <<.from-version "5.1.23">> The transformation applied by the slugify operator follows these steps: * If there is a tiddler with the same title that has a ''slug'' field, then return that field instead of running the following steps * Replace uppercase letters with lowercase equivalents * Transliterate diacritics to their basic lowercase ASCII equivalents (for example, "Æ" is transliterated to "AE") * Replace spaces with dashes * Remove all non-word characters except dashes and periods * Replace multiple sequential dashes with a single dash * Trim dashes from start and end * If the result is the empty string then character codes are used instead (eg. "&£@" transforms to "38-163-64") Note that it is possible for more than one title to slugify to the same string. The <<.olink duplicateslugs>> can be used to alert authors to any clashes. <<.operator-examples "slugify">>