Categorygithub.com/documize/slug
modulepackage
1.1.1
Repository: https://github.com/documize/slug.git
Documentation: pkg.go.dev

# README

slug

Package slug generate slug from unicode string, URL-friendly slugify with multiple languages support.

GoDoc Build Status

Documentation online

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.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

Installation

go get -u github.com/gosimple/slug

License

The source files are distributed under the Mozilla Public License, version 2.0, unless otherwise noted. Please read the FAQ if you have further questions regarding the license.

# Functions

IsSlug returns True if provided text does not contain white characters, punctuation, all letters are lower case and only from ASCII range.
Make returns slug generated from provided string.
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.
SubstituteRune substitutes string chars with provided rune substitution map.

# Variables

CustomRuneSub stores custom rune substitution map.
CustomSub stores custom substitution map.
MaxLength stores maximum slug length.