diff options
Diffstat (limited to 'src/Hakyll/Core/Identifier.hs')
-rw-r--r-- | src/Hakyll/Core/Identifier.hs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/Hakyll/Core/Identifier.hs b/src/Hakyll/Core/Identifier.hs index 90f0eea..d7bb8c6 100644 --- a/src/Hakyll/Core/Identifier.hs +++ b/src/Hakyll/Core/Identifier.hs @@ -34,6 +34,7 @@ module Hakyll.Core.Identifier ( Identifier (..) , castIdentifier , parseIdentifier + , fromFilePath , toFilePath , setGroup ) where @@ -77,16 +78,24 @@ castIdentifier :: Identifier a -> Identifier b castIdentifier (Identifier g p) = Identifier g p {-# INLINE castIdentifier #-} + +-------------------------------------------------------------------------------- -- | Parse an identifier from a string --- parseIdentifier :: String -> Identifier a -parseIdentifier = Identifier Nothing - . intercalate "/" . filter (not . null) . split' +parseIdentifier = Identifier Nothing . + intercalate "/" . filter (not . null) . split' where split' = map dropTrailingPathSeparator . splitPath + +-------------------------------------------------------------------------------- +-- | Create an identifier from a filepath +fromFilePath :: FilePath -> Identifier a +fromFilePath = parseIdentifier + + +-------------------------------------------------------------------------------- -- | Convert an identifier to a relative 'FilePath' --- toFilePath :: Identifier a -> FilePath toFilePath = identifierPath |