------------------------------------------------------------------------ -- -- Module : Uniform.HTMLout -- das ist was von pandoc fuer output gebraucht wird ----------------------------------------------------------------------- -- {-# LANGUAGE BangPatterns #-} {-# LANGUAGE ConstraintKinds #-} -- {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DoAndIfThenElse #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} -- {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE DeriveGeneric #-} {-# OPTIONS_GHC -Wall -fno-warn-orphans -fno-warn-missing-signatures -fno-warn-missing-methods -fno-warn-duplicate-exports -fno-warn-unused-imports #-} module Uniform.HTMLout ( module Uniform.HTMLout ) where import UniformBase ( Generic, TypedFiles7(..), Text, Zeros(zero), Extension(..), TypedFile5(..) ) import Uniform.Json ( ToJSON ) newtype HTMLout = HTMLout {contentHtml::Text} deriving (Show, Read, Eq, Ord, Generic) instance ToJSON HTMLout -- a wrapper around html ready to publish unHTMLout (HTMLout a) = a htmloutFileType = TypedFile5 { tpext5 = extHTML } :: TypedFile5 Text HTMLout instance Zeros HTMLout where zero = HTMLout zero instance TypedFiles7 Text HTMLout where wrap7 = HTMLout unwrap7 (HTMLout a) = a extHTML :: Extension extHTML = Extension "html"