summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/shurcooL/sanitized_anchor_name/main.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2017-01-17 23:57:47 +0100
committerWim <wim@42.be>2017-01-18 00:02:37 +0100
commitf8a6e65bfdeb89a7ec340442060c6c053b7d8083 (patch)
tree8d33c8376c21812e133a497027d9880da07fad25 /vendor/github.com/shurcooL/sanitized_anchor_name/main.go
parent6df6c5d615181e91006ac3ceb72a2e09f29d1bb9 (diff)
downloadmatterbridge-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.go29
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)
+}