UsageΒΆ
mj = require("minijinja")
env = mj.Environment:new()
--- A sample filter
---
---@param state minijinja.State
---@param val string
---@param args { case: "upper" | "lower" }
---
---@return string
local function lua_filter(state, val, args)
if args.case == "upper" then
return val:upper()
end
if args.case == "lower" then
return val:lower()
end
end
env:add_filter("lua_filter", lua_filter)
env:add_template("my_temp", "Test: {{ foo | lua_filter(case='upper') }}")
env:render_template("my_temp", {
foo = "foo"
})
-- output: "Test: FOO"
The API is documented in the library/minijinja.d.lua
file, which should work with LuaLS or EmmyluaLS.
This crate provides a few additional filters:
For more information, review the
minijinja
documentation: