@@ -1,4 +1,5 @@
1-- | Module aimed to paginate web pages.
1-- | Module aimed to paginate web pages.
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)
15-- | A configuration for a pagination.
16-- | A configuration for a pagination.
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
27-- | A simple default configuration for pagination.
29-- | A simple default configuration for pagination.
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@.
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)
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."
67 -- The main function that creates combined renderables by recursing over
72 -- The main function that creates combined renderables by recursing over