packages feed

casr-logbook 0.0.10 → 0.0.11

raw patch · 3 files changed

+120/−1 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

casr-logbook.cabal view
@@ -1,5 +1,5 @@ name:               casr-logbook-version:            0.0.10+version:            0.0.11 license:            OtherLicense license-file:       LICENSE author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>@@ -52,6 +52,7 @@                     Data.Aviation.Casr.Logbook.Entries                     Data.Aviation.Casr.Logbook.Entry                     Data.Aviation.Casr.Logbook.ExamEntry+                    Data.Aviation.Casr.Logbook.FlightEntry                     Data.Aviation.Casr.Logbook.FlightPath                     Data.Aviation.Casr.Logbook.Hours                     Data.Aviation.Casr.Logbook.Image
changelog view
@@ -1,3 +1,7 @@+0.0.11++* Fix build to export `FlightEntry`.+ 0.0.10  * Add support for exams.
+ src/Data/Aviation/Casr/Logbook/FlightEntry.hs view
@@ -0,0 +1,114 @@+module Data.Aviation.Casr.Logbook.FlightEntry (+  FlightEntry(..)+) where++import Data.Aviation.Casr.Logbook.Aircraft+import Data.Aviation.Casr.Logbook.Date+import Data.Aviation.Casr.Logbook.DayNight+import Data.Aviation.Casr.Logbook.FlightPath+import Data.Aviation.Casr.Logbook.Hours+import Data.Aviation.Casr.Logbook.Images+import Data.Aviation.Casr.Logbook.PiC+import Data.Aviation.Casr.Logbook.PoB+import Data.Aviation.Casr.Logbook.Printer.Markdown+import Data.Aviation.Casr.Logbook.Printer.Html+import Data.Aviation.Casr.Logbook.Sequence+import Data.Aviation.Casr.Logbook.TrackLogs+import Data.Aviation.Casr.Logbook.Videos+import Data.Aviation.Casr.Logbook.Visualisations++{-++This data structure currently only handles Day VFR. More modifications are+likely to result in a complete flight log entry structure.++-}+data FlightEntry =+  FlightEntry+    Sequence+    Date +    Aircraft+    Hours+    PoB+    FlightPath+    DayNight+    PiC+    TrackLogs+    Visualisations+    Images+    Videos+  deriving (Eq, Ord, Show)+    +instance Markdown FlightEntry where+  markdown (FlightEntry sequ date aircraft hours pob flightpath daynight pic tracklogs visualisations images videos) =+    concat+      [+        markdown date+      , markdown sequ+      , markdown aircraft+      , markdown hours+      , markdown pob+      , markdown flightpath+      , markdown daynight+      , markdown pic+      , markdown tracklogs+      , markdown videos+      , markdown visualisations+      , markdown images+      ]++instance Html FlightEntry where+  html (FlightEntry sequ date aircraft hours pob flightpath daynight pic tracklogs visualisations images videos) =+    let onethen x c r = concat $+                 case r of+                   [] ->+                     []+                   _ ->+                     [+                       "<"+                     , x+                     , " class=\""+                     , c+                     , "\">"+                     , r +                     , "</"+                     , x+                     , ">"+                     ]+        li = onethen "li"+        div' = onethen "div"             +    in  concat+          [+            "<div class=\"flightlogsequence\">"+          , "<h3 class=\"sequence\">"+          , html sequ+          , "</h3>"+          , "</div>"+          , "<ul>"+          , "<li class=\"date\">"+          , html date+          , "</li>"+          , "<li class=\"aircraft\">"+          , html aircraft+          , "</li>"+          , "<li class=\"hours\">"+          , html hours+          , "</li>"+          , "<li class=\"pob\">"+          , html pob+          , "</li>"+          , "<li class=\"flightpath\">"+          , html flightpath+          , "</li>"+          , "<li class=\"daynight\">"+          , html daynight+          , "</li>"+          , "<li class=\"pic\">"+          , html pic+          , "</li>"+          , li "tracklogs" (html tracklogs)+          , li "videos" (html videos) +          , li "visualisations" (html visualisations) +          , "</ul>"+          , div' "images" (html images) +          ]