aboutsummaryrefslogtreecommitdiff
path: root/docs/example-lua-plugin/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'docs/example-lua-plugin/main.lua')
-rw-r--r--docs/example-lua-plugin/main.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/example-lua-plugin/main.lua b/docs/example-lua-plugin/main.lua
new file mode 100644
index 0000000..8df1ec6
--- /dev/null
+++ b/docs/example-lua-plugin/main.lua
@@ -0,0 +1,19 @@
+-- This message will be printed when the plugin is loaded
+print("Hi, this is an example Lua plugin")
+
+-- Setup a function called when the mailbox view is rendered
+koushin.on_render("mailbox.html", function(data)
+ print("The mailbox view for " .. data.Mailbox.Name .. " is being rendered")
+ -- Set extra data that can be accessed from the mailbox.html template
+ data.Extra.Example = "Hi from Lua"
+end)
+
+-- Wire up a new route
+koushin.set_route("GET", "/example", function(ctx)
+ ctx:String(200, "This is an example page.")
+end)
+
+-- Set a filter function that can be used from templates
+koushin.set_filter("example_and", function(a, b)
+ return a .. " and " .. b
+end)