diff options
| author | Jasper Van der Jeugt <m@jaspervdj.be> | 2013-05-04 11:36:58 +0200 |
|---|---|---|
| committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2013-05-04 11:36:58 +0200 |
| commit | 4100083709a894225717dbe3068f73057e908dd6 (patch) | |
| tree | bd519b91f8e3dcbdab03a5807112997d56d55d75 /src/Hakyll/Core/Util | |
| parent | 28bc3f1f3b98f3bf4c8601af8eb8fa7a9c226ed2 (diff) | |
| download | hakyll-4100083709a894225717dbe3068f73057e908dd6.tar.gz | |
Style changes, move stuff to common parser module
Diffstat (limited to 'src/Hakyll/Core/Util')
| -rw-r--r-- | src/Hakyll/Core/Util/Parser.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Hakyll/Core/Util/Parser.hs b/src/Hakyll/Core/Util/Parser.hs new file mode 100644 index 0000000..afa72c1 --- /dev/null +++ b/src/Hakyll/Core/Util/Parser.hs @@ -0,0 +1,25 @@ +-------------------------------------------------------------------------------- +-- | Parser utilities +module Hakyll.Core.Util.Parser + ( metadataKey + , reservedKeys + ) where + + +-------------------------------------------------------------------------------- +import Control.Applicative ((<$>), (<*>), (<|>)) +import Control.Monad (mzero) +import qualified Text.Parsec as P +import Text.Parsec.String (Parser) + + +-------------------------------------------------------------------------------- +metadataKey :: Parser String +metadataKey = do + i <- (:) <$> P.letter <*> (P.many $ P.alphaNum <|> P.oneOf " _-.") + if i `elem` reservedKeys then mzero else return i + + +-------------------------------------------------------------------------------- +reservedKeys :: [String] +reservedKeys = ["if", "else","endif"] |
