mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-03-28 06:17:04 +00:00
34 lines
573 B
Go
34 lines
573 B
Go
package util
|
|
|
|
import (
|
|
"strings"
|
|
"unicode"
|
|
)
|
|
|
|
func UrlToCanonical(name string) string {
|
|
return strings.ToLower(strings.ReplaceAll(name, " ", "_"))
|
|
}
|
|
|
|
func DisplayToCanonical(name string) string {
|
|
return strings.ToLower(strings.ReplaceAll(name, " ", "_"))
|
|
}
|
|
|
|
func CanonicalToDisplay(name string) (res string) {
|
|
tmp := strings.Title(name)
|
|
var afterPoint bool
|
|
for _, ch := range tmp {
|
|
if afterPoint {
|
|
afterPoint = false
|
|
ch = unicode.ToLower(ch)
|
|
}
|
|
switch ch {
|
|
case '.':
|
|
afterPoint = true
|
|
case '_':
|
|
ch = ' '
|
|
}
|
|
res += string(ch)
|
|
}
|
|
return res
|
|
}
|