diff options
Diffstat (limited to 'helpers/path.go')
-rw-r--r-- | helpers/path.go | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/helpers/path.go b/helpers/path.go index b3f69ff90..7bc216ec8 100644 --- a/helpers/path.go +++ b/helpers/path.go @@ -18,6 +18,7 @@ import ( "fmt" "io" "os" + "path" "path/filepath" "regexp" "sort" @@ -142,25 +143,25 @@ var isFileRe = regexp.MustCompile(`.*\..{1,6}$`) // GetDottedRelativePath expects a relative path starting after the content directory. // It returns a relative path with dots ("..") navigating up the path structure. func GetDottedRelativePath(inPath string) string { - inPath = filepath.Clean(filepath.FromSlash(inPath)) + inPath = path.Clean(filepath.ToSlash(inPath)) if inPath == "." { return "./" } - if !isFileRe.MatchString(inPath) && !strings.HasSuffix(inPath, FilePathSeparator) { - inPath += FilePathSeparator + if !isFileRe.MatchString(inPath) && !strings.HasSuffix(inPath, "/") { + inPath += "/" } - if !strings.HasPrefix(inPath, FilePathSeparator) { - inPath = FilePathSeparator + inPath + if !strings.HasPrefix(inPath, "/") { + inPath = "/" + inPath } - dir, _ := filepath.Split(inPath) + dir, _ := path.Split(inPath) - sectionCount := strings.Count(dir, FilePathSeparator) + sectionCount := strings.Count(dir, "/") - if sectionCount == 0 || dir == FilePathSeparator { + if sectionCount == 0 || dir == "/" { return "./" } |