A webmail client. Forked from https://git.sr.ht/~migadu/alps
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Simon Ser d897eeee5c
Introduce base plugin
4 years ago
cmd/koushin Introduce base plugin 4 years ago
plugins/base Introduce base plugin 4 years ago
public/themes/sourcehut Introduce base plugin 4 years ago
.gitignore Introduce base plugin 4 years ago
LICENSE Correct license ownership 4 years ago
README.md Introduce base plugin 4 years ago
go.mod Add basic support for plugins 4 years ago
go.sum Add basic support for plugins 4 years ago
imap.go Introduce base plugin 4 years ago
plugin.go Add an API for Go plugins 4 years ago
plugin_go.go Introduce base plugin 4 years ago
plugin_lua.go Introduce base plugin 4 years ago
server.go Introduce base plugin 4 years ago
session.go Introduce base plugin 4 years ago
smtp.go Introduce base plugin 4 years ago
template.go Introduce base plugin 4 years ago

README.md

koushin

GoDoc

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/<name>/main.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

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/*.

Contributing

Send patches on the mailing list, report bugs on the issue tracker.

License

MIT