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
|