diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-05 12:56:41 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-05 19:41:53 +0100 |
commit | 196a9df585c4744e3280f37c1c24e469fce14b8c (patch) | |
tree | 30a3d06dec5846ad00c22fde5abe11269741511d /hugolib/hugo_modules_test.go | |
parent | 9b6e61464b09ffe3423fb8d7c72bddb7a9ed5b98 (diff) |
hugolib: Fix relative .Page.GetPage from bundle
Fixes #6705
Diffstat (limited to 'hugolib/hugo_modules_test.go')
-rw-r--r-- | hugolib/hugo_modules_test.go | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/hugolib/hugo_modules_test.go b/hugolib/hugo_modules_test.go index 1c665e6e3..14085e2c0 100644 --- a/hugolib/hugo_modules_test.go +++ b/hugolib/hugo_modules_test.go @@ -585,9 +585,19 @@ workingDir = %q {{ $mypage := .Site.GetPage "/blog/mypage.md" }} {{ with $mypage }}MYPAGE: {{ .Title }}|Path: {{ path.Join .File.Path }}|FilePath: {{ path.Join .File.FileInfo.Meta.PathFile }}|{{ end }} +`, "_default/_markup/render-link.html", ` +{{ $link := .Destination }} +{{ $isRemote := strings.HasPrefix $link "http" }} +{{- if not $isRemote -}} +{{ $url := urls.Parse .Destination }} +{{ $fragment := "" }} +{{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}} +{{- with .Page.GetPage $url.Path }}{{ $link = printf "%s%s" .Permalink $fragment }}{{ end }}{{ end -}} +<a href="{{ $link | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank"{{ end }}>{{ .Text | safeHTML }}</a> `) os.Mkdir(filepath.Join(workingDir, "mycontent"), 0777) + os.Mkdir(filepath.Join(workingDir, "mycontent", "mybundle"), 0777) b.WithSourceFile("README.md", `--- title: "Readme Title" @@ -600,6 +610,23 @@ Readme Content. title: "My Page" --- + +* [Relative Link From Page](mybundle) +* [Relative Link From Page, filename](mybundle/index.md) +* [Link using original path](/mycontent/mybundle/index.md) + + +`, filepath.Join("mycontent", "mybundle", "index.md"), ` +--- +title: "My Bundle" +--- + +* [Dot Relative Link From Bundle](../mypage.md) +* [Link using original path](/mycontent/mypage.md) +* [Link to Home](/) +* [Link to Home, README.md](/README.md) +* [Link to Home, _index.md](/_index.md) + `) b.Build(BuildCfg{}) @@ -610,7 +637,19 @@ README: Readme Title Readme Content. MYPAGE: My Page|Path: blog/mypage.md|FilePath: mycontent/mypage.md| `) - b.AssertFileContent("public/blog/mypage/index.html", "Single: My Page") + b.AssertFileContent("public/blog/mypage/index.html", ` +<a href="https://example.com/blog/mybundle/">Relative Link From Page</a> +<a href="https://example.com/blog/mybundle/">Relative Link From Page, filename</a> +<a href="https://example.com/blog/mybundle/">Link using original path</a> + +`) + b.AssertFileContent("public/blog/mybundle/index.html", ` +<a href="https://example.com/blog/mypage/">Dot Relative Link From Bundle</a> +<a href="https://example.com/blog/mypage/">Link using original path</a> +<a href="https://example.com/">Link to Home</a> +<a href="https://example.com/">Link to Home, README.md</a> +<a href="https://example.com/">Link to Home, _index.md</a> +`) b.EditFiles("README.md", `--- title: "Readme Edit" @@ -622,6 +661,7 @@ title: "Readme Edit" b.AssertFileContent("public/index.html", ` Readme Edit `) + } // https://github.com/gohugoio/hugo/issues/6299 |