slugify
slugify copied to clipboard
Small utility library for generating speaking URLs.
Slugify
Description
Small utility library for generating speaking URLs.
Usage Examples
Basic
final Slugify slg = Slugify.builder().build();
final String result = slg.slugify("Hello, world!");
// result: hello-world
Underscore Separator
final Slugify slg = Slugify.builder().underscoreSeparator(true).build();
final String result = slg.slugify("Hello, world!");
// result: hello_world
Case Sensitive
final Slugify slg = Slugify.builder().lowerCase(false).build();
final String result = slg.slugify("Hello, world!");
// result: Hello-world
Specifying a Locale
final Slugify slg = Slugify.builder().locale(Locale.GERMAN).build();
final String result = slg.slugify("ä");
// result: ae
Custom Replacements
final Slugify slg = Slugify.builder()
// provided as a map
.customReplacements(Map.of("Foo", "Hello", "bar", "world"))
// provided as single key-value
.customReplacement("Foo", "Hello")
.customReplacement("bar", "world")
.build();
final String result = slg.slugify("Foo, bar!");
// result: hello-world
Transliteration
Requirements
Gradle 6+
For Gradle 6+ users there's a feature variant which can be used as follows:
capabilities {
requireCapability('com.github.slugify:slugify-transliterator')
}
For more information about feature variants please check the section Modeling feature variants and optional dependencies of gradle's user guide.
Other
Manually add the optional dependency com.ibm.icu:icu4j
to your project.
Usage Example
final Slugify slg = Slugify.builder().transliterator(true).build();
final String result = slg.slugify("Б");
// result: b