mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-28 06:30:33 +03:00
parent
321418f22a
commit
952a319496
2 changed files with 16 additions and 9 deletions
|
@ -243,11 +243,11 @@ func (d *SourceFilesystem) MakePathRelative(filename string) string {
|
||||||
currentPath := meta.Filename()
|
currentPath := meta.Filename()
|
||||||
|
|
||||||
if strings.HasPrefix(filename, currentPath) {
|
if strings.HasPrefix(filename, currentPath) {
|
||||||
if path := meta.Path(); path != "" {
|
rel := strings.TrimPrefix(filename, currentPath)
|
||||||
currentPath = strings.TrimRight(strings.TrimSuffix(currentPath, path), filePathSeparator)
|
if mp := meta.Path(); mp != "" {
|
||||||
|
rel = filepath.Join(mp, rel)
|
||||||
}
|
}
|
||||||
|
return strings.TrimPrefix(rel, filePathSeparator)
|
||||||
return strings.TrimPrefix(filename, currentPath)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
|
|
|
@ -360,14 +360,19 @@ func TestMakePathRelative(t *testing.T) {
|
||||||
workDir := "mywork"
|
workDir := "mywork"
|
||||||
v.Set("workingDir", workDir)
|
v.Set("workingDir", workDir)
|
||||||
|
|
||||||
c.Assert(fs.Source.MkdirAll(filepath.Join(workDir, "dist"), 0777), qt.IsNil)
|
c.Assert(fs.Source.MkdirAll(filepath.Join(workDir, "dist", "d1"), 0777), qt.IsNil)
|
||||||
c.Assert(fs.Source.MkdirAll(filepath.Join(workDir, "static"), 0777), qt.IsNil)
|
c.Assert(fs.Source.MkdirAll(filepath.Join(workDir, "static", "d2"), 0777), qt.IsNil)
|
||||||
|
c.Assert(fs.Source.MkdirAll(filepath.Join(workDir, "dust", "d2"), 0777), qt.IsNil)
|
||||||
|
|
||||||
moduleCfg := map[string]interface{}{
|
moduleCfg := map[string]interface{}{
|
||||||
"mounts": []interface{}{
|
"mounts": []interface{}{
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"source": "dist",
|
"source": "dist",
|
||||||
"target": "static/dist",
|
"target": "static/mydist",
|
||||||
|
},
|
||||||
|
map[string]interface{}{
|
||||||
|
"source": "dust",
|
||||||
|
"target": "static/foo/bar",
|
||||||
},
|
},
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"source": "static",
|
"source": "static",
|
||||||
|
@ -388,8 +393,10 @@ func TestMakePathRelative(t *testing.T) {
|
||||||
sfs := bfs.Static[""]
|
sfs := bfs.Static[""]
|
||||||
c.Assert(sfs, qt.Not(qt.IsNil))
|
c.Assert(sfs, qt.Not(qt.IsNil))
|
||||||
|
|
||||||
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "static", "foo.txt")), qt.Equals, filepath.FromSlash("/foo.txt"))
|
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "dist", "d1", "foo.txt")), qt.Equals, filepath.FromSlash("mydist/d1/foo.txt"))
|
||||||
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "dist", "foo.txt")), qt.Equals, filepath.FromSlash("/dist/foo.txt"))
|
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "static", "d2", "foo.txt")), qt.Equals, filepath.FromSlash("d2/foo.txt"))
|
||||||
|
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "dust", "d3", "foo.txt")), qt.Equals, filepath.FromSlash("foo/bar/d3/foo.txt"))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkFileCount(fs afero.Fs, dirname string, c *qt.C, expected int) {
|
func checkFileCount(fs afero.Fs, dirname string, c *qt.C, expected int) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue