Deuxfleurs patches for alps webmail (from https://sr.ht/~migadu/alps/)
Find a file
Simon Ser d8f411176f
Export Context
This allows plugins to access it.
2019-12-11 12:48:20 +01:00
cmd/koushin Add basic theme support 2019-12-04 18:30:01 +01:00
public Drop define in templates 2019-12-09 15:00:01 +01:00
.gitignore Add plugins/ to .gitignore 2019-12-10 17:41:35 +01:00
go.mod Add basic support for plugins 2019-12-09 16:05:40 +01:00
go.sum Add basic support for plugins 2019-12-09 16:05:40 +01:00
handlers.go Export Context 2019-12-11 12:48:20 +01:00
imap.go Use imap.BodyStructure.Filename and imap.Address.Address 2019-12-09 13:45:15 +01:00
LICENSE Correct license ownership 2019-12-03 07:48:25 -05:00
plugin.go Rename Plugin.Render to Plugin.Inject 2019-12-10 16:07:02 +01:00
plugin_lua.go go fmt 2019-12-10 17:39:42 +01:00
README.md readme: add link to mailing list & issue tracker 2019-12-10 16:08:08 +01:00
server.go Export Context 2019-12-11 12:48:20 +01:00
session.go Reconnect to IMAP server when logged out 2019-12-09 19:35:15 +01:00
smtp.go Add basic pagination to message list 2019-12-03 19:49:04 +01:00
strconv.go Add basic pagination to message list 2019-12-03 19:49:04 +01:00
template.go Export Context 2019-12-11 12:48:20 +01:00

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 template name, call f with the template data
  • koushin.set_filter(name, f): set a template function
  • koushin.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