module Text.HTML.Moe.DSL.Markdown
(
(#)
, (##)
, (###)
, (####)
, (#####)
, (######)
, (>>)
, (*)
, (***)
-- , _
-- , __
, (!)
, (<>)
, o
, block
) where
import Text.HTML.Moe
import Text.HTML.Moe.Type (MoeUnit)
import MPS.Light ((-))
import Prelude hiding ((-), (/), (>>), (*))
single_line, r :: (MoeUnit -> MoeUnit) -> String -> MoeUnit
single_line f = f . str
r = single_line
(#) :: String -> MoeUnit
(##) :: String -> MoeUnit
(###) :: String -> MoeUnit
(####) :: String -> MoeUnit
(#####) :: String -> MoeUnit
(######) :: String -> MoeUnit
(>>) :: String -> MoeUnit
(*) :: String -> MoeUnit
-- _ :: String -> MoeUnit
-- __ :: String -> MoeUnit
o :: String -> MoeUnit
block :: String -> MoeUnit
(***) :: MoeUnit
(!) :: String -> String -> MoeUnit
(<>) :: String -> String -> MoeUnit
(#) = r h1'
(##) = r h2'
(###) = r h3'
(####) = r h4'
(#####) = r h5'
(######) = r h6'
(>>) = r blockquote'
(*) = r ul'
-- _ = r em'
-- __ = r strong'
o = r li'
block = pre' . code' . _pre
(***) = hr'
(!) x y = img [src y, alt x]
(<>) x y = a [href y] - str x