# HG changeset patch # User Matthew Wild # Date 1687465811 -3600 # Node ID 3fe9cef6a18797971271b1ae1b173292e5d3487c # Parent afcc217db35690089d19e1cdeedf79e8d43412bc render: Add some new render functions for templates diff -r afcc217db356 -r 3fe9cef6a187 src/render.lua --- a/src/render.lua Thu Jun 22 21:29:31 2023 +0100 +++ b/src/render.lua Thu Jun 22 21:30:11 2023 +0100 @@ -1,18 +1,21 @@ local html = require "util.html"; local json = require "util.json"; - -html.basename = function (str) - return str:match("[^/]+$"); -end +local http = require "util.http"; -html.date = function (datetime) - return datetime:sub(1,10); -end +local render_funcs = setmetatable({ + basename = function (str) + return str:match("[^/]+$"); + end; + date = function (datetime) + return datetime:sub(1,10); + end; + json = json.encode; + urlencode = http.urlencode; +}, { __index = html }); -html.json = json.encode; - -local render = require"util.interpolation".new("%b{}", html.escape, html); +local render = require"util.interpolation".new("%b{}", html.escape, render_funcs); return { render = render; + funcs = render_funcs; };