| 1234567891011121314151617181920212223242526272829 | // Package sanitized_anchor_name provides a func to create sanitized anchor names.//// Its logic can be reused by multiple packages to create interoperable anchor names// and links to those anchors.//// At this time, it does not try to ensure that generated anchor names// are unique, that responsibility falls on the caller.package sanitized_anchor_name // import "github.com/shurcooL/sanitized_anchor_name"import "unicode"// Create returns a sanitized anchor name for the given text.func Create(text string) string {	var anchorName []rune	var futureDash = false	for _, r := range []rune(text) {		switch {		case unicode.IsLetter(r) || unicode.IsNumber(r):			if futureDash && len(anchorName) > 0 {				anchorName = append(anchorName, '-')			}			futureDash = false			anchorName = append(anchorName, unicode.ToLower(r))		default:			futureDash = true		}	}	return string(anchorName)}
 |