Commit graph

13 commits

Author SHA1 Message Date
Simon Ser 01983eb7b5
Introduce PluginLoaderFunc
This allows registered plugins to execute code when loaded. This will
also allow the Lua support code to be a plugin.

Closes: https://todo.sr.ht/~sircmpwn/koushin/54
2020-01-20 21:37:28 +01:00
Simon Ser 020e27fe45
Add Context to Plugin.Inject
This allows to access the request metadata and the session from injectors.
2019-12-17 15:14:36 +01:00
Simon Ser ca3672df2a
Add RenderData interface
This allows Go plugins to easily inject global data.
2019-12-17 15:01:15 +01:00
Simon Ser e83844fbad
Add an API for Go plugins
References: https://todo.sr.ht/~sircmpwn/koushin/39
2019-12-16 12:26:26 +01:00
Simon Ser f07ab52632
Add docs 2019-12-11 15:24:39 +01:00
Simon Ser 1b5bc568fb
Allow plugins to provide their own templates 2019-12-11 15:08:31 +01:00
Simon Ser 4a504b0fc6
Rename Plugin.Render to Plugin.Inject
This function doesn't render anything, it just adds extra data to the
template data.
2019-12-10 16:07:02 +01:00
Simon Ser 95da47f7c4
Extract Lua plugin logic into separate file 2019-12-10 16:02:21 +01:00
Simon Ser a9a607b9b2
Allow plugins to add new routes
References: https://todo.sr.ht/~sircmpwn/koushin/6
2019-12-10 16:00:53 +01:00
Simon Ser 7702925497
Make SessionManager create the IMAP client
This will allow SessionManager to re-connect when the IMAP server logs
the user out.
2019-12-09 18:35:51 +01:00
Simon Ser 76599232dc
Add a Lua API to set template filters 2019-12-09 17:54:24 +01:00
Simon Ser f42cb45457
Change Lua API to koushin.on_render 2019-12-09 17:25:02 +01:00
Simon Ser 4f74722c14
Add basic support for plugins 2019-12-09 16:05:40 +01:00