casr-logbook-0.0.7: src/Data/Aviation/Casr/Logbook/Printer/Markdown.hs
module Data.Aviation.Casr.Logbook.Printer.Markdown (
Markdown(..)
, printMarkdown
, writeMarkdownFile
) where
class Markdown s where
markdown ::
s
-> String
instance Markdown Char where
markdown =
pure
instance Markdown Int where
markdown =
show
instance Markdown a => Markdown [a] where
markdown =
(=<<) markdown
printMarkdown ::
Markdown s =>
s
-> IO ()
printMarkdown =
putStrLn . markdown
writeMarkdownFile ::
Markdown s =>
FilePath
-> s
-> IO ()
writeMarkdownFile p =
writeFile p . markdown