Skip to content

mozilla/unicode-slugify

Unicode Slugify

Unicode Slugify is a slugifier that generates unicode slugs. It was originally used in the Firefox Add-ons web site to generate slugs for add-ons and add-on collections. Many of these add-ons and collections had unicode characters and required more than simple transliteration.

Usage

fromslugifyimportslugify, SLUG_OK# Default usage : lower, spaces replaced with "-", only alphanum and "-_~" chars, keeps unicodeslugify(u'Bän...g (bang)') # u'bäng-bang'# Keep capital letters and spacesslugify(u'Bän...g (bang)', lower=False, spaces=True) # u'Bäng bang'# Replace non ascii chars with their "best" representationslugify(u'北京 (capital of China)', only_ascii=True) # u'bei-jing-capital-of-china'# Allow some extra charsslugify(u'北京 (capital of China)', ok=SLUG_OK+'()', only_ascii=True) # u'bei-jing-(capital-of-china)'# "snake_case" exampledefsnake_case(s): # As "-" is not in allowed Chars, first one (`_`) is used for space replacementreturnslugify(s, ok='_', only_ascii=True) snake_case(u'北京 (capital of china)') # u'bei_jing_capital_of_china'# "CamelCase" exampledefcamel_case(s): returnslugify(s.title(), ok='', only_ascii=True, lower=False) camel_case(u'北京 (capital of china)') # u'BeiJingCapitalOfChina'

Thanks

Tomaz Solc, unidecode, https://pypi.python.org/pypi/Unidecode

About

A slugifier that works in unicode

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 12

Languages