on master help sign in
Fix link bug in paginate module
a09a270Jasper Van der Jeugt
src/Text/Hakyll/Paginate.hs+6−1
@@ -1,4 +1,5 @@
1-- | Module aimed to paginate web pages.
1-- | Module aimed to paginate web pages.
2+--
2module Text.Hakyll.Paginate
3module Text.Hakyll.Paginate
3 ( PaginateConfiguration (..)
4 ( PaginateConfiguration (..)
4 , defaultPaginateConfiguration
5 , defaultPaginateConfiguration
@@ -13,6 +14,7 @@ import Text.Hakyll.HakyllAction
13import Text.Hakyll.Util (link)
14import Text.Hakyll.Util (link)
14
15
15-- | A configuration for a pagination.
16-- | A configuration for a pagination.
17+--
16data PaginateConfiguration = PaginateConfiguration
18data PaginateConfiguration = PaginateConfiguration
17 { -- | Label for the link to the previous page.
19 { -- | Label for the link to the previous page.
18 previousLabel :: String
20 previousLabel :: String
@@ -25,6 +27,7 @@ data PaginateConfiguration = PaginateConfiguration
25 }
27 }
26
28
27-- | A simple default configuration for pagination.
29-- | A simple default configuration for pagination.
30+--
28defaultPaginateConfiguration :: PaginateConfiguration
31defaultPaginateConfiguration :: PaginateConfiguration
29defaultPaginateConfiguration = PaginateConfiguration
32defaultPaginateConfiguration = PaginateConfiguration
30 { previousLabel = "Previous"
33 { previousLabel = "Previous"
@@ -54,6 +57,7 @@ defaultPaginateConfiguration = PaginateConfiguration
54-- When @$previous@ or @$next@ are not available, they will be just a label
57-- When @$previous@ or @$next@ are not available, they will be just a label
55-- without a link. The same goes for when we are on the first or last page for
58-- without a link. The same goes for when we are on the first or last page for
56-- @$first@ and @$last@.
59-- @$first@ and @$last@.
60+--
57paginate :: PaginateConfiguration
61paginate :: PaginateConfiguration
58 -> [HakyllAction () Context]
62 -> [HakyllAction () Context]
59 -> [HakyllAction () Context]
63 -> [HakyllAction () Context]
@@ -61,7 +65,8 @@ paginate configuration renderables = paginate' Nothing renderables (1 :: Int)
61 where
65 where
62 -- Create a link with a given label, taken from the configuration.
66 -- Create a link with a given label, taken from the configuration.
63 linkWithLabel f r = Right $ case actionUrl r of
67 linkWithLabel f r = Right $ case actionUrl r of
64− Left l -> createSimpleHakyllAction $ link (f configuration) <$> l
68+ Left l -> createSimpleHakyllAction $
69+ link (f configuration) . ("$root/" ++) <$> l
65 Right _ -> error "No link found for pagination."
70 Right _ -> error "No link found for pagination."
66
71
67 -- The main function that creates combined renderables by recursing over
72 -- The main function that creates combined renderables by recursing over