v1.0.0
15 Sep 2026First release.
Added
slug()withscript: 'keep', which leaves the Arabic letters in place — the option no other slug library offers, and the only way to produce a URL an Arabic reader can read.- Zero-width joiners, non-joiners and kashidas treated as what they are: marks
inside a word, never separators. Two of the most downloaded slug libraries
turn
میرومinto two words. - Vowel marks used when an author has written them, including a shadda doubling the consonant rather than the vowel — which Unicode's ordering makes easy to get backwards — and the silent alef after a tanween.
- Language-aware readings for Arabic, Persian and Urdu: positional
وandی, final heh as eh, and the lettersپ چ ژ گ ٹ ڈ ڑ ںthat an Arabic-only table drops entirely. - Letter unification that follows the content's language: Persian and Urdu keep ی and ک, Arabic keeps ي and ك, and both spellings still collapse to one slug.
- A closing ta marbuta as a and an internal one as t.
- The definite article as
al-, withاللهas the single exception. - Arabic-Indic and Persian digits converted to 0–9.
- Direction marks stripped, so a right-to-left override can never make a URL read as something other than what it is.
uniqueSlug()for collisions, which romanised Arabic produces far more often than Latin text does.prefersScript(),normalise(),transliterate(),westernDigits(),stripInvisible()andhasTashkeel()exported on their own — the same normalisation makes Arabic search work.separator,lower,maxLengththat cuts on a word boundary,stopWordsthat never empty a title, andkeepfor extra characters.- 2.0 kB gzip, zero dependencies.