strip trailing baseurl slash. Added a new template function "sanitizeurl" which ensures no double slashes. Fixed #221

This commit is contained in:
spf13 2014-04-07 22:02:08 -04:00
parent a6170154cf
commit ad34be9d77
3 changed files with 32 additions and 19 deletions

View file

@ -16,8 +16,18 @@ package helpers
import (
"net/url"
"path"
"github.com/PuerkitoBio/purell"
)
func SanitizeUrl(in string) string {
url, err := purell.NormalizeURLString(in, purell.FlagsUsuallySafeGreedy|purell.FlagRemoveDuplicateSlashes|purell.FlagRemoveUnnecessaryHostDots|purell.FlagRemoveEmptyPortSeparator)
if err != nil {
return in
}
return url
}
// Similar to MakePath, but with Unicode handling
// Example:
// uri: Vim (text editor)
@ -55,6 +65,7 @@ func MakePermalink(host, plink string) *url.URL {
}
func UrlPrep(ugly bool, in string) string {
in = SanitizeUrl(in)
if ugly {
return Uglify(in)
} else {