Deuxfleurs patches for alps webmail (from https://sr.ht/~migadu/alps/)
c5afd1a61b
The session manager has been upgraded to deal with reconnections. Each session has its own expiration timer. Each time a request is received, the expiration timer is reset. A session can be closed (this is used when the user wants to logout). When the IMAP connection is closed by the server, it's set to nil in the session. The next time an IMAP command needs to be issued, the connection is re-established. Closes: https://todo.sr.ht/~sircmpwn/koushin/30 |
||
---|---|---|
cmd/koushin | ||
public | ||
.gitignore | ||
go.mod | ||
go.sum | ||
handlers.go | ||
imap.go | ||
LICENSE | ||
plugin.go | ||
README.md | ||
server.go | ||
session.go | ||
smtp.go | ||
strconv.go | ||
template.go |
koushin
Usage
go run ./cmd/koushin imaps://mail.example.org:993 smtps://mail.example.org:465
See -h
for more information.
Themes
They should be put in public/themes/<name>/
.
Templates in public/themes/<name>/*.html
override default templates in
public/*.html
. Assets in public/themes/<name>/assets/*
are served by the
HTTP server at themes/<name>/assets/*
.
Plugins
Lua plugins are supported. They can be dropped in plugins/*.lua
.
API:
koushin.on_render(name, f)
: prior to rendering the templatename
, callf
with the template datakoushin.set_filter(name, f)
: set a template function
License
MIT