1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-27 13:24:41 +01:00
gojekyll/helpers/path.go

26 lines
534 B
Go
Raw Normal View History

package helpers
import (
"path"
"strings"
)
// TrimExt returns a path without its extension, if any
func TrimExt(name string) string {
return name[:len(name)-len(path.Ext(name))]
}
// URLPathClean removes internal // etc. Unlike path.Clean, it
// leaves the final "/" intact.
2017-06-29 01:00:01 +02:00
func URLPathClean(url string) string {
finalSlash := false
if strings.HasSuffix(url, "/") && len(url) > 1 {
finalSlash = true
}
2017-06-29 01:00:01 +02:00
cleaned := path.Clean(url)
if finalSlash && !strings.HasSuffix(cleaned, "/") {
cleaned += "/"
}
return cleaned
}