package slug
Import Path
github.com/gosimple/slug (on go.dev)
Dependency Relation
imports 5 packages, and imported by one package
Involved Source Files
Package slug generate slug from unicode string, URL-friendly slugify with
multiple languages support.
Example:
package main
import(
"github.com/gosimple/slug"
"fmt"
)
func main () {
text := slug.Make("Hellö Wörld хелло ворлд")
fmt.Println(text) // Will print: "hello-world-khello-vorld"
someText := slug.Make("影師")
fmt.Println(someText) // Will print: "ying-shi"
enText := slug.MakeLang("This & that", "en")
fmt.Println(enText) // Will print: "this-and-that"
deText := slug.MakeLang("Diese & Dass", "de")
fmt.Println(deText) // Will print: "diese-und-dass"
slug.Lowercase = false // Keep uppercase characters
deUppercaseText := slug.MakeLang("Diese & Dass", "de")
fmt.Println(deUppercaseText) // Will print: "Diese-und-Dass"
slug.CustomSub = map[string]string{
"water": "sand",
}
textSub := slug.Make("water is hot")
fmt.Println(textSub) // Will print: "sand-is-hot"
}
Requests or bugs?
https://github.com/gosimple/slug/issues
languages_substitution.go
slug.go
Package-Level Functions (total 5)
IsSlug returns True if provided text does not contain white characters,
punctuation, all letters are lower case and only from ASCII range.
It could contain `-` and `_` but not at the beginning or end of the text.
It should be in range of the MaxLength var if specified.
All output from slug.Make(text) should pass this test.
Make returns slug generated from provided string. Will use "en" as language
substitution.
MakeLang returns slug generated from provided string and will use provided
language for chars substitution.
Substitute returns string with superseded all substrings from
provided substitution map. Substitution map will be applied in alphabetic
order. Many passes, on one substitution another one could apply.
SubstituteRune substitutes string chars with provided rune
substitution map. One pass.
Package-Level Variables (total 5)
CustomRuneSub stores custom rune substitution map
CustomSub stores custom substitution map
EnableSmartTruncate defines if cutting with MaxLength is smart.
Smart algorithm will cat slug after full word.
Default is true.
Lowercase defines if the resulting slug is transformed to lowercase.
Default is true.
MaxLength stores maximum slug length.
By default slugs aren't shortened.
If MaxLength is smaller than length of the first word, then returned
slug will contain only substring from the first word truncated
after MaxLength.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |