Simon Ser 3d2da43207 | il y a 4 ans | |
---|---|---|
cmd/koushin | il y a 4 ans | |
plugins/base | il y a 4 ans | |
themes | il y a 4 ans | |
.gitignore | il y a 4 ans | |
LICENSE | il y a 4 ans | |
README.md | il y a 4 ans | |
go.mod | il y a 4 ans | |
go.sum | il y a 4 ans | |
imap.go | il y a 4 ans | |
plugin.go | il y a 4 ans | |
plugin_go.go | il y a 4 ans | |
plugin_lua.go | il y a 4 ans | |
server.go | il y a 4 ans | |
session.go | il y a 4 ans | |
smtp.go | il y a 4 ans | |
template.go | il y a 4 ans |
go run ./cmd/koushin imaps://mail.example.org:993 smtps://mail.example.org:465
See -h
for more information.
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 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/*
.
They can use the Go plugin helpers and need to be included at compile-time in
cmd/koushin/main.go
.
The entry point is at plugins/<name>/main.lua
.
API:
koushin.on_render(name, f)
: prior to rendering the template name
, call
f
with the template data (the special name *
matches all templates)koushin.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 contextSend patches on the mailing list, report bugs on the issue tracker.
MIT