Deuxfleurs patches for alps webmail (from https://sr.ht/~migadu/alps/)
2a2a48c7fa
References: https://todo.sr.ht/~sircmpwn/koushin/36 |
||
---|---|---|
cmd/koushin | ||
plugins/base | ||
themes | ||
.gitignore | ||
go.mod | ||
go.sum | ||
imap.go | ||
LICENSE | ||
plugin.go | ||
plugin_go.go | ||
plugin_lua.go | ||
README.md | ||
server.go | ||
session.go | ||
smtp.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 themes/<name>/
.
Templates in themes/<name>/*.html
override default templates in plugins.
Assets in themes/<name>/assets/*
are served by the HTTP server at
/themes/<name>/assets/*
.
Plugins
Plugins can be written in Go or in Lua and live in plugins/<name>/
.
Plugins can provide their own templates in plugins/<name>/public/*.html
.
Assets in plugins/<name>/public/assets/*
are served by the HTTP server at
/plugins/<name>/assets/*
.
Go plugins
They can use the Go plugin helpers and need to be included at compile-time in
cmd/koushin/main.go
.
Lua plugins
The entry point is at plugins/<name>/main.lua
.
API:
koushin.on_render(name, f)
: prior to rendering the templatename
, callf
with the template datakoushin.set_filter(name, f)
: set a template functionkoushin.set_route(method, path, f)
: register a new HTTP route,f
will be called with the HTTP context
Contributing
Send patches on the mailing list, report bugs on the issue tracker.
License
MIT