Safe Haskell | None |
---|---|
Language | Haskell98 |
- imm :: (a -> CoHttpClientF IO a, a) -> (b -> CoDatabaseF' IO b, b) -> (c -> CoLoggerF IO c, c) -> (d -> CoHooksF IO d, d) -> IO ()
Documentation
:: (a -> CoHttpClientF IO a, a) | HTTP client interpreter (cf Imm.HTTP) |
-> (b -> CoDatabaseF' IO b, b) | Database interpreter (cf Imm.Database) |
-> (c -> CoLoggerF IO c, c) | Logger interpreter (cf Imm.Logger) |
-> (d -> CoHooksF IO d, d) | Hooks interpreter (cf Imm.Hooks) |
-> IO () |
Main function, meant to be used in your personal configuration file,
by default located at $XDG_CONFIG_HOME/imm/imm.hs
.
For more information about the dynamic reconfiguration system, please consult Config.Dyre.
Here is an example:
import Imm.Boot import Imm.Database.JsonFile import Imm.Feed import Imm.Hooks.SendMail import Imm.HTTP.Simple import Imm.Logger.Simple main :: IO () main = do logger <- defaultLogger manager <- defaultManager database <- defaultDatabase imm (mkCoHttpClient, manager) (mkCoDatabase, database) (mkCoLogger, logger) (mkCoHooks, sendmail) sendmail :: SendMailSettings sendmail = SendMailSettings smtpServer formatMail formatMail :: FormatMail formatMail = FormatMail (\a b -> (defaultFormatFrom a b) { addressEmail = "user@host" } ) defaultFormatSubject defaultFormatBody (\_ _ -> [Address Nothing "user@host"]) smtpServer :: Feed -> FeedElement -> SMTPServer smtpServer _ _ = SMTPServer (Just $ Authentication PLAIN "user" "password") (StartTls "smtp.host" defaultSettingsSMTPSTARTTLS)