diff options
-rw-r--r-- | README.md | 39 | ||||
-rw-r--r-- | docs/themes-and-plugins.md | 32 |
2 files changed, 32 insertions, 39 deletions
@@ -16,45 +16,6 @@ To manually specify upstream servers: See `docs/cli.md` for more information. -## Themes - -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 - -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/*`. - -### Go plugins - -They can use the [Go plugin helpers] and need to be included at compile-time in -`cmd/koushin/main.go`. - -### Lua plugins - -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 function -* `koushin.set_route(method, path, f)`: register a new HTTP route, `f` will be - called with the HTTP context - -## Hot reload - -Lua plugins and templates can be reloaded by sending `SIGUSR1` to koushin. - - killall -USR1 koushin - ## Contributing Send patches on the [mailing list], report bugs on the [issue tracker]. diff --git a/docs/themes-and-plugins.md b/docs/themes-and-plugins.md new file mode 100644 index 0000000..1d793f8 --- /dev/null +++ b/docs/themes-and-plugins.md @@ -0,0 +1,32 @@ +# Themes + +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 + +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/*`. + +## Go plugins + +They can use the [Go plugin helpers] and need to be included at compile-time in +`cmd/koushin/main.go`. + +## Lua plugins + +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 function +* `koushin.set_route(method, path, f)`: register a new HTTP route, `f` will be + called with the HTTP context |