123456789101112131415161718192021222324 |
- module Signature (plugin) where
- -- This plugin replaces $SIG$ with the username and timestamp
- -- of the last edit, prior to saving the page in the repository.
- import Network.Gitit.Interface
- import Data.DateTime (getCurrentTime, formatDateTime)
- plugin :: Plugin
- plugin = PreCommitTransform replacedate
- replacedate :: String -> PluginM String
- replacedate [] = return ""
- replacedate ('$':'S':'I':'G':'$':xs) = do
- datetime <- liftIO getCurrentTime
- mbuser <- askUser
- let username = case mbuser of
- Nothing -> "???"
- Just u -> uUsername u
- let sig = concat ["-- ", username, " (", formatDateTime "%c" datetime, ")"]
- fmap (sig ++ ) $ replacedate xs
- replacedate (x:xs) = fmap (x : ) $ replacedate xs
|