30 lines
700 B
Haskell
30 lines
700 B
Haskell
module Header (header) where
|
|
|
|
|
|
import Data.Maybe
|
|
import Data.Monoid
|
|
import Data.Text (Text)
|
|
import Data.Text as T
|
|
import Data.Time.Calendar
|
|
import Data.Time.Clock
|
|
import Formatting
|
|
|
|
|
|
copyright :: IO Text
|
|
copyright = undefined
|
|
|
|
|
|
header :: Int -> Maybe Text -> Text
|
|
header year muser =
|
|
let formatter = (now "# Copyright ") % text % " " % int % "\n"
|
|
% "# Distributed under the terms of the GNU General "
|
|
% "Public License v2"
|
|
user = fromMaybe (T.pack "Exherbo Linux") muser
|
|
in format formatter user year
|
|
|
|
currentYear :: IO Int
|
|
currentYear = (\(y, _, _) -> y)
|
|
. toGregorian
|
|
. utctDay
|
|
<$> getCurrentTime
|