hakyll-3.3.0.0: src/Hakyll/Core/Resource.hs
-- | Module exporting the simple 'Resource' type
--
module Hakyll.Core.Resource
( Resource
, unResource
, resource
, fromIdentifier
, toIdentifier
) where
import Hakyll.Core.Identifier
-- | A resource
--
newtype Resource = Resource {unResource :: FilePath}
deriving (Eq, Show, Ord)
-- | Smart constructor to ensure we have @/@ as path separator
--
resource :: FilePath -> Resource
resource = fromIdentifier . parseIdentifier
-- | Create a resource from an identifier
--
fromIdentifier :: Identifier a -> Resource
fromIdentifier = Resource . toFilePath
-- | Map the resource to an identifier. Note that the group will not be set!
--
toIdentifier :: Resource -> Identifier a
toIdentifier = parseIdentifier . unResource