diff options
author | Wim <wim@42.be> | 2017-01-17 23:57:47 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2017-01-18 00:02:37 +0100 |
commit | f8a6e65bfdeb89a7ec340442060c6c053b7d8083 (patch) | |
tree | 8d33c8376c21812e133a497027d9880da07fad25 /vendor/github.com/shurcooL/sanitized_anchor_name/main.go | |
parent | 6df6c5d615181e91006ac3ceb72a2e09f29d1bb9 (diff) | |
download | matterbridge-msglm-0.9.1.tar.gz matterbridge-msglm-0.9.1.tar.bz2 matterbridge-msglm-0.9.1.zip |
Release v0.9.1v0.9.1
Diffstat (limited to 'vendor/github.com/shurcooL/sanitized_anchor_name/main.go')
-rw-r--r-- | vendor/github.com/shurcooL/sanitized_anchor_name/main.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/main.go b/vendor/github.com/shurcooL/sanitized_anchor_name/main.go new file mode 100644 index 00000000..72a87535 --- /dev/null +++ b/vendor/github.com/shurcooL/sanitized_anchor_name/main.go @@ -0,0 +1,29 @@ +// 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) +} |