@@ -96,6 +96,7 @@ bodyField key = field key $ return . itemBody
98--------------------------------------------------------------------------------
98--------------------------------------------------------------------------------
99+-- | Map any field to its metadata value, if present
99metadataField :: Context String
100metadataField :: Context String
100metadataField = Context $ \k i -> do
101metadataField = Context $ \k i -> do
101 metadata <- getMetadata $ itemIdentifier i
102 metadata <- getMetadata $ itemIdentifier i
@@ -103,17 +104,20 @@ metadataField = Context $ \k i -> do
105--------------------------------------------------------------------------------
106--------------------------------------------------------------------------------
107+-- | Absolute url to the resulting item
106urlField :: String -> Context a
108urlField :: String -> Context a
107urlField key = field key $
109urlField key = field key $
108 fmap (maybe empty toUrl) . getRoute . itemIdentifier
110 fmap (maybe empty toUrl) . getRoute . itemIdentifier
111--------------------------------------------------------------------------------
113--------------------------------------------------------------------------------
114+-- | Filepath of the underlying file of the item
112pathField :: String -> Context a
115pathField :: String -> Context a
113pathField key = field key $ return . toFilePath . itemIdentifier
116pathField key = field key $ return . toFilePath . itemIdentifier
116--------------------------------------------------------------------------------
119--------------------------------------------------------------------------------
120+-- | This title field takes the basename of the underlying file by default
117titleField :: String -> Context a
121titleField :: String -> Context a
118titleField key = mapContext takeBaseName $ pathField key
122titleField key = mapContext takeBaseName $ pathField key