module Data.Frontmatter
(
frontmatter
, frontmatterYaml
, parseFrontmatter
, parseFrontmatterMaybe
, parseFrontmatterEither
, parseYamlFrontmatter
, parseYamlFrontmatterMaybe
, parseYamlFrontmatterEither
, parse
, maybeResult
, eitherResult
, Parser
, Result
, IResult(..)
)
where
import Data.Attoparsec.ByteString
import Data.ByteString (ByteString)
import Data.Frontmatter.Internal
import Data.Yaml (FromJSON)
import Data.Yaml.Frontmatter
parseFrontmatter :: ByteString -> Result ByteString
parseFrontmatter = parse frontmatter
parseFrontmatterMaybe :: ByteString -> Maybe ByteString
parseFrontmatterMaybe = maybeResult . parse frontmatter
parseFrontmatterEither :: ByteString -> Either String ByteString
parseFrontmatterEither = eitherResult . parse frontmatter
parseYamlFrontmatter :: FromJSON a => ByteString -> Result a
parseYamlFrontmatter = parse frontmatterYaml
parseYamlFrontmatterMaybe :: FromJSON a => ByteString -> Maybe a
parseYamlFrontmatterMaybe = maybeResult . parse frontmatterYaml
parseYamlFrontmatterEither :: FromJSON a => ByteString -> Either String a
parseYamlFrontmatterEither = eitherResult . parse frontmatterYaml