"unicode"
)
-// FilepathPathBridge is a bridge for common functionality in filepath vs path
-type FilepathPathBridge interface {
+// filepathPathBridge is a bridge for common functionality in filepath vs path
+type filepathPathBridge interface {
Base(in string) string
Clean(in string) string
Dir(in string) string
Separator() string
}
-type FilepathBridge struct {
+type filepathBridge struct {
}
-func (FilepathBridge) Base(in string) string {
+func (filepathBridge) Base(in string) string {
return filepath.Base(in)
}
-func (FilepathBridge) Clean(in string) string {
+func (filepathBridge) Clean(in string) string {
return filepath.Clean(in)
}
-func (FilepathBridge) Dir(in string) string {
+func (filepathBridge) Dir(in string) string {
return filepath.Dir(in)
}
-func (FilepathBridge) Ext(in string) string {
+func (filepathBridge) Ext(in string) string {
return filepath.Ext(in)
}
-func (FilepathBridge) Join(elem ...string) string {
+func (filepathBridge) Join(elem ...string) string {
return filepath.Join(elem...)
}
-func (FilepathBridge) Separator() string {
+func (filepathBridge) Separator() string {
return FilePathSeparator
}
-var filepathBridge FilepathBridge
+var fpb filepathBridge
var sanitizeRegexp = regexp.MustCompile("[^a-zA-Z0-9./_-]")
// MakePath takes a string with any characters and replace it
// ReplaceExtension takes a path and an extension, strips the old extension
// and returns the path with the new extension.
func ReplaceExtension(path string, newExt string) string {
- f, _ := FileAndExt(path, filepathBridge)
+ f, _ := FileAndExt(path, fpb)
return f + "." + newExt
}
// Filename takes a path, strips out the extension,
// and returns the name of the file.
func Filename(in string) (name string) {
- name, _ = FileAndExt(in, filepathBridge)
+ name, _ = FileAndExt(in, fpb)
return
}
// If the path, in, represents a filename with an extension,
// then name will be the filename minus any extension - including the dot
// and ext will contain the extension - minus the dot.
-func FileAndExt(in string, b FilepathPathBridge) (name string, ext string) {
+func FileAndExt(in string, b filepathPathBridge) (name string, ext string) {
ext = b.Ext(in)
base := b.Base(in)
// /section/name/ becomes /section/name/index.html
// /section/name/index.html becomes /section/name/index.html
func PrettifyPath(in string) string {
- return PrettiyPath(in, filepathBridge)
+ return PrettiyPath(in, fpb)
}
-func PrettiyPath(in string, b FilepathPathBridge) string {
+func PrettiyPath(in string, b filepathPathBridge) string {
if filepath.Ext(in) == "" {
// /section/name/ -> /section/name/index.html
if len(in) < 2 {
"github.com/spf13/viper"
)
-type PathBridge struct {
+type pathBridge struct {
}
-func (PathBridge) Base(in string) string {
+func (pathBridge) Base(in string) string {
return path.Base(in)
}
-func (PathBridge) Clean(in string) string {
+func (pathBridge) Clean(in string) string {
return path.Clean(in)
}
-func (PathBridge) Dir(in string) string {
+func (pathBridge) Dir(in string) string {
return path.Dir(in)
}
-func (PathBridge) Ext(in string) string {
+func (pathBridge) Ext(in string) string {
return path.Ext(in)
}
-func (PathBridge) Join(elem ...string) string {
+func (pathBridge) Join(elem ...string) string {
return path.Join(elem...)
}
-func (PathBridge) Separator() string {
+func (pathBridge) Separator() string {
return "/"
}
-var pathBridge PathBridge
+var pb pathBridge
func sanitizeURLWithFlags(in string, f purell.NormalizationFlags) string {
s, err := purell.NormalizeURLString(in, f)
// /section/name/ becomes /section/name/index.html
// /section/name/index.html becomes /section/name/index.html
func PrettifyURLPath(in string) string {
- return PrettiyPath(in, pathBridge)
+ return PrettiyPath(in, pb)
}
// Uglify does the opposite of PrettifyURLPath().
return path.Clean(in) + ".html"
}
- name, ext := FileAndExt(in, pathBridge)
+ name, ext := FileAndExt(in, pb)
if name == "index" {
// /section/name/index.html -> /section/name.html
d := path.Dir(in)