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 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 (return ()) (!!) x y = img ! [src y, alt x] - (return ()) (<>) x y = a ! [href y] - str x