Simon Ser
b58c15d121
Extract Lua infrastructure into a plugin
2020-01-20 22:04:50 +01:00
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