mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
common/paths: Remove unused code
This commit is contained in:
parent
55a9bc1e70
commit
6f07bdb152
4 changed files with 2 additions and 134 deletions
|
@ -16,7 +16,6 @@ package paths
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
@ -36,8 +35,7 @@ type filepathPathBridge interface {
|
||||||
Separator() 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)
|
return filepath.Base(in)
|
||||||
|
@ -65,11 +63,6 @@ func (filepathBridge) Separator() string {
|
||||||
|
|
||||||
var fpb filepathBridge
|
var fpb filepathBridge
|
||||||
|
|
||||||
// ToSlashTrimLeading is just a filepath.ToSlash with an added / prefix trimmer.
|
|
||||||
func ToSlashTrimLeading(s string) string {
|
|
||||||
return strings.TrimPrefix(filepath.ToSlash(s), "/")
|
|
||||||
}
|
|
||||||
|
|
||||||
// MakeTitle converts the path given to a suitable title, trimming whitespace
|
// MakeTitle converts the path given to a suitable title, trimming whitespace
|
||||||
// and replacing hyphens with whitespace.
|
// and replacing hyphens with whitespace.
|
||||||
func MakeTitle(inpath string) string {
|
func MakeTitle(inpath string) string {
|
||||||
|
@ -233,23 +226,6 @@ func GetRelativePath(path, base string) (final string, err error) {
|
||||||
return name, nil
|
return name, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// PathPrep prepares the path using the uglify setting to create paths on
|
|
||||||
// either the form /section/name/index.html or /section/name.html.
|
|
||||||
func PathPrep(ugly bool, in string) string {
|
|
||||||
if ugly {
|
|
||||||
return Uglify(in)
|
|
||||||
}
|
|
||||||
return PrettifyPath(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PrettifyPath is the same as PrettifyURLPath but for file paths.
|
|
||||||
// /section/name.html becomes /section/name/index.html
|
|
||||||
// /section/name/ becomes /section/name/index.html
|
|
||||||
// /section/name/index.html becomes /section/name/index.html
|
|
||||||
func PrettifyPath(in string) string {
|
|
||||||
return prettifyPath(in, fpb)
|
|
||||||
}
|
|
||||||
|
|
||||||
func prettifyPath(in string, b filepathPathBridge) string {
|
func prettifyPath(in string, b filepathPathBridge) string {
|
||||||
if filepath.Ext(in) == "" {
|
if filepath.Ext(in) == "" {
|
||||||
// /section/name/ -> /section/name/index.html
|
// /section/name/ -> /section/name/index.html
|
||||||
|
@ -278,35 +254,3 @@ func (n NamedSlice) String() string {
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("%s%s{%s}", n.Name, FilePathSeparator, strings.Join(n.Slice, ","))
|
return fmt.Sprintf("%s%s{%s}", n.Name, FilePathSeparator, strings.Join(n.Slice, ","))
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindCWD returns the current working directory from where the Hugo
|
|
||||||
// executable is run.
|
|
||||||
func FindCWD() (string, error) {
|
|
||||||
serverFile, err := filepath.Abs(os.Args[0])
|
|
||||||
if err != nil {
|
|
||||||
return "", fmt.Errorf("can't get absolute path for executable: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
path := filepath.Dir(serverFile)
|
|
||||||
realFile, err := filepath.EvalSymlinks(serverFile)
|
|
||||||
if err != nil {
|
|
||||||
if _, err = os.Stat(serverFile + ".exe"); err == nil {
|
|
||||||
realFile = filepath.Clean(serverFile + ".exe")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err == nil && realFile != serverFile {
|
|
||||||
path = filepath.Dir(realFile)
|
|
||||||
}
|
|
||||||
|
|
||||||
return path, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// AddTrailingSlash adds a trailing Unix styled slash (/) if not already
|
|
||||||
// there.
|
|
||||||
func AddTrailingSlash(path string) string {
|
|
||||||
if !strings.HasSuffix(path, "/") {
|
|
||||||
path += "/"
|
|
||||||
}
|
|
||||||
return path
|
|
||||||
}
|
|
||||||
|
|
|
@ -226,27 +226,3 @@ func TestFileAndExt(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFindCWD(t *testing.T) {
|
|
||||||
type test struct {
|
|
||||||
expectedDir string
|
|
||||||
expectedErr error
|
|
||||||
}
|
|
||||||
|
|
||||||
// cwd, _ := os.Getwd()
|
|
||||||
data := []test{
|
|
||||||
//{cwd, nil},
|
|
||||||
// Commenting this out. It doesn't work properly.
|
|
||||||
// There's a good reason why we don't use os.Getwd(), it doesn't actually work the way we want it to.
|
|
||||||
// I really don't know a better way to test this function. - SPF 2014.11.04
|
|
||||||
}
|
|
||||||
for i, d := range data {
|
|
||||||
dir, err := FindCWD()
|
|
||||||
if d.expectedDir != dir {
|
|
||||||
t.Errorf("Test %d failed. Expected %q but got %q", i, d.expectedDir, dir)
|
|
||||||
}
|
|
||||||
if d.expectedErr != err {
|
|
||||||
t.Errorf("Test %d failed. Expected %q but got %q", i, d.expectedErr, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -22,8 +22,7 @@ import (
|
||||||
"github.com/PuerkitoBio/purell"
|
"github.com/PuerkitoBio/purell"
|
||||||
)
|
)
|
||||||
|
|
||||||
type pathBridge struct {
|
type pathBridge struct{}
|
||||||
}
|
|
||||||
|
|
||||||
func (pathBridge) Base(in string) string {
|
func (pathBridge) Base(in string) string {
|
||||||
return path.Base(in)
|
return path.Base(in)
|
||||||
|
@ -83,17 +82,6 @@ func sanitizeURLWithFlags(in string, f purell.NormalizationFlags) string {
|
||||||
// End temporary kludge
|
// End temporary kludge
|
||||||
|
|
||||||
// return s
|
// return s
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// SanitizeURL sanitizes the input URL string.
|
|
||||||
func SanitizeURL(in string) string {
|
|
||||||
return sanitizeURLWithFlags(in, purell.FlagsSafe|purell.FlagRemoveTrailingSlash|purell.FlagRemoveDotSegments|purell.FlagRemoveDuplicateSlashes|purell.FlagRemoveUnnecessaryHostDots|purell.FlagRemoveEmptyPortSeparator)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SanitizeURLKeepTrailingSlash is the same as SanitizeURL, but will keep any trailing slash.
|
|
||||||
func SanitizeURLKeepTrailingSlash(in string) string {
|
|
||||||
return sanitizeURLWithFlags(in, purell.FlagsSafe|purell.FlagRemoveDotSegments|purell.FlagRemoveDuplicateSlashes|purell.FlagRemoveUnnecessaryHostDots|purell.FlagRemoveEmptyPortSeparator)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MakePermalink combines base URL with content path to create full URL paths.
|
// MakePermalink combines base URL with content path to create full URL paths.
|
||||||
|
@ -127,16 +115,6 @@ func MakePermalink(host, plink string) *url.URL {
|
||||||
return base
|
return base
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsAbsURL determines whether the given path points to an absolute URL.
|
|
||||||
func IsAbsURL(path string) bool {
|
|
||||||
url, err := url.Parse(path)
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
return url.IsAbs() || strings.HasPrefix(path, "//")
|
|
||||||
}
|
|
||||||
|
|
||||||
// AddContextRoot adds the context root to an URL if it's not already set.
|
// AddContextRoot adds the context root to an URL if it's not already set.
|
||||||
// For relative URL entries on sites with a base url with a context root set (i.e. http://example.com/mysite),
|
// For relative URL entries on sites with a base url with a context root set (i.e. http://example.com/mysite),
|
||||||
// relative URLs must not include the context root if canonifyURLs is enabled. But if it's disabled, it must be set.
|
// relative URLs must not include the context root if canonifyURLs is enabled. But if it's disabled, it must be set.
|
||||||
|
|
|
@ -14,41 +14,11 @@
|
||||||
package paths
|
package paths
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
qt "github.com/frankban/quicktest"
|
qt "github.com/frankban/quicktest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSanitizeURL(t *testing.T) {
|
|
||||||
tests := []struct {
|
|
||||||
input string
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{"http://foo.bar/", "http://foo.bar"},
|
|
||||||
{"http://foo.bar", "http://foo.bar"}, // issue #1105
|
|
||||||
{"http://foo.bar/zoo/", "http://foo.bar/zoo"}, // issue #931
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, test := range tests {
|
|
||||||
o1 := SanitizeURL(test.input)
|
|
||||||
o2 := SanitizeURLKeepTrailingSlash(test.input)
|
|
||||||
|
|
||||||
expected2 := test.expected
|
|
||||||
|
|
||||||
if strings.HasSuffix(test.input, "/") && !strings.HasSuffix(expected2, "/") {
|
|
||||||
expected2 += "/"
|
|
||||||
}
|
|
||||||
|
|
||||||
if o1 != test.expected {
|
|
||||||
t.Errorf("[%d] 1: Expected %#v, got %#v\n", i, test.expected, o1)
|
|
||||||
}
|
|
||||||
if o2 != expected2 {
|
|
||||||
t.Errorf("[%d] 2: Expected %#v, got %#v\n", i, expected2, o2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestMakePermalink(t *testing.T) {
|
func TestMakePermalink(t *testing.T) {
|
||||||
type test struct {
|
type test struct {
|
||||||
host, link, output string
|
host, link, output string
|
||||||
|
|
Loading…
Reference in a new issue