{-# LANGUAGE RecordWildCards #-}

module Ondim.Targets.HTML.Load (loadHtml) where

import Ondim.Loading (LoadConfig (..), loadFnSimple)
import Ondim.Targets.HTML.Expansions (defaultState)
import Ondim.Targets.HTML.Instances
import Ondim.Targets.HTML.Parser (parseLBS)

loadHtml :: LoadConfig s
loadHtml :: forall s. LoadConfig s
loadHtml = LoadConfig {[FilePattern]
OndimState s
LoadFn s
forall {s}. OndimState s
forall {n}. LoadFn n
initialState :: forall {s}. OndimState s
patterns :: [FilePattern]
loadFn :: forall {n}. LoadFn n
initialState :: OndimState s
loadFn :: LoadFn s
patterns :: [FilePattern]
..}
  where
    initialState :: OndimState s
initialState = OndimState s
forall {s}. OndimState s
defaultState
    patterns :: [FilePattern]
patterns = [FilePattern
"**/*.html"]
    loadFn :: LoadFn n
loadFn = (FilePattern -> LByteString -> Either FilePattern HtmlDocument)
-> LoadFn n
forall a n.
OndimNode a =>
(FilePattern -> LByteString -> Either FilePattern a) -> LoadFn n
loadFnSimple \FilePattern
_ LByteString
bs -> Document -> Either FilePattern HtmlDocument
toHtmlDocument (LByteString -> Document
parseLBS LByteString
bs)