module Text.HTML.Moe2.DSL.Markdown
(
(#)
, (##)
, (###)
, (####)
, (#####)
, (######)
, (>>)
, (*)
, (***)
-- , _
-- , __
, (!)
, (<>)
, o
, block
) where
import Text.HTML.Moe2.Type
import Text.HTML.Moe2.Element
import Text.HTML.Moe2.Attribute
import Text.HTML.Moe2.DSL.HTML
import Air.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 (return ())
(!!) x y = img ! [src y, alt x] - (return ())
(<>) x y = a ! [href y] - str x