From d5633e2395368410e1dfa22e5a046e655671a981 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 30 Sep 2026 03:21:31 +0200 Subject: init --- src/MdBlocks/Types.hs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/MdBlocks/Types.hs (limited to 'src/MdBlocks/Types.hs') diff --git a/src/MdBlocks/Types.hs b/src/MdBlocks/Types.hs new file mode 100644 index 0000000..1d8450e --- /dev/null +++ b/src/MdBlocks/Types.hs @@ -0,0 +1,37 @@ +{-# LANGUAGE DeriveGeneric #-} + +module MdBlocks.Types where + +import Data.Aeson +import Data.Map.Strict (Map) +import Data.Text (Text) +import GHC.Generics + +data BlockKind + = Fenced + | Indented + deriving (Show, Eq, Generic) + +instance ToJSON BlockKind + +data Metadata = Metadata + { mdLanguage :: Maybe Text + , mdId :: Maybe Text + , mdAttrs :: Map Text Text + } + deriving (Show, Eq, Generic) + +instance ToJSON Metadata + +data Block = Block + { blockFile :: FilePath + , blockNumber :: Int + , blockKind :: BlockKind + , blockMeta :: Metadata + , blockStart :: Int + , blockEnd :: Int + , blockContent :: Text + } + deriving (Show, Eq, Generic) + +instance ToJSON Block -- cgit v1.3.1