From 6bf010fed432e5574e19fd2946ee6397d895950e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 9 Mar 2017 19:19:29 +0100 Subject: hugolib: Refactor/-work the permalink/target path logic This is a pretty fundamental change in Hugo, but absolutely needed if we should have any hope of getting "multiple outputs" done. This commit's goal is to say: * Every file target path is created by `createTargetPath`, i.e. one function for all. * That function takes every page and site parameter into account, to avoid fragile string parsing to uglify etc. later on. * The path creation logic has full test coverage. * All permalinks, paginator URLs etc. are then built on top of that same logic. Fixes #1252 Fixes #2110 Closes #2374 Fixes #1885 Fixes #3102 Fixes #3179 Fixes #1641 Fixes #1989 --- hugolib/node_as_page_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'hugolib/node_as_page_test.go') diff --git a/hugolib/node_as_page_test.go b/hugolib/node_as_page_test.go index 57a51f40a..0e1cc9577 100644 --- a/hugolib/node_as_page_test.go +++ b/hugolib/node_as_page_test.go @@ -286,7 +286,9 @@ func doTestNodesWithNoContentFile(t *testing.T, ugly bool) { func TestNodesAsPageMultilingual(t *testing.T) { t.Parallel() for _, ugly := range []bool{false, true} { - doTestNodesAsPageMultilingual(t, ugly) + t.Run(fmt.Sprintf("ugly=%t", ugly), func(t *testing.T) { + doTestNodesAsPageMultilingual(t, ugly) + }) } } @@ -369,7 +371,8 @@ title = "Deutsche Hugo" require.Len(t, deHome.Translations(), 2, deHome.Translations()[0].Language().Lang) require.Equal(t, "en", deHome.Translations()[1].Language().Lang) require.Equal(t, "nn", deHome.Translations()[0].Language().Lang) - require.Equal(t, expetedPermalink(ugly, "/de/"), deHome.Permalink()) + // See issue #3179 + require.Equal(t, expetedPermalink(false, "/de/"), deHome.Permalink()) enSect := sites.Sites[1].getPage("section", "sect1") require.NotNil(t, enSect) -- cgit v1.2.3