| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
There's no way around having a global mutex, because we need to update
the HTTP routes when reloading plugins. During reload we need to lock
the whole server.
Closes: https://todo.sr.ht/~sircmpwn/koushin/43
|
|
|
|
|
| |
This only reloads templates for now. In the future it'll also reload
Lua plugins.
|
|
|
|
| |
This allows to access the request metadata and the session from injectors.
|
|
|
|
| |
This allows Go plugins to easily inject global data.
|
|
|
|
| |
RenderData will be used for an interface.
|
|
|
|
|
| |
Now that all templates are provided by plugins, there's no need to have
a public/ directory. Themes can be in /themes instead of /public/themes.
|
|
|
|
|
|
| |
This plugin offers base IMAP/SMTP functionality.
References: https://todo.sr.ht/~sircmpwn/koushin/39
|
| |
|
| |
|
|
|
|
| |
And unexport a few internal functions.
|
|
|
|
| |
This allows plugins to access it.
|
| |
|
|
|
|
|
|
|
|
| |
GlobalRenderData contains some global metadata that can be obtained from
any template.
RenderData is a base type for template data. It contains a Global field
with global metadata and an Extra field for plugins.
|
|
|
|
| |
This is the first step to allow each user to have a different theme.
|
|
|
|
|
| |
This function doesn't render anything, it just adds extra data to the
template data.
|
| |
|
| |
|
|
|
|
| |
References: https://todo.sr.ht/~sircmpwn/koushin/1
|
|
|
|
| |
Closes: https://todo.sr.ht/~sircmpwn/koushin/14
|
| |
|
| |
|
|
|