module Data.Aviation.Casr.Logbook.TrackLog (
TrackLog(..)
) where
import Data.Aviation.Casr.Logbook.Printer.Markdown
import Data.Aviation.Casr.Logbook.TrackLogType
import Data.Maybe
data TrackLog =
TrackLog
String
(Maybe String)
TrackLogType
deriving (Eq, Ord, Show)
instance Markdown TrackLog where
markdown (TrackLog uri name ttype) =
let t = markdown ttype
n = fmap (\z -> "**" ++ z ++ "**") name
in case ttype of
ImageLog _ ->
concat
[
" * "
, case n of
Nothing ->
"*" ++ t ++ "*"
Just n' ->
n'
, "\n\n "
, "<a href=\""
, uri
, "\"><img src=\""
, uri
, "\" width=\"360\" alt=\""
, fromMaybe t name
, "\"/></a>"
]
_ ->
concat
[
" * "
, case n of
Nothing ->
""
Just n' ->
n' ++ ": "
, "["
, t
, "]("
, uri
, ")"
]