{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
module Rib.Markup
(
Markup (..),
)
where
import Data.Aeson (Value)
import Lucid (Html)
import Named
import Path
class Markup repr where
parseDoc ::
Path Rel File ->
Text ->
Either Text repr
readDoc ::
forall m b.
MonadIO m =>
"relpath" :! Path Rel File ->
"path" :! Path b File ->
m (Either Text repr)
extractMeta ::
repr ->
Maybe (Either Text Value)
renderDoc ::
repr ->
Either Text (Html ())