The Space Lua API provides functions for working with Lua expressions and templates. spacelua.parseExpression(luaExpression)
Parses a lua expression and returns the parsed expression as an AST.Example:local parsedExpression = spacelua.parseExpression("1 + 1")
spacelua.evalExpression(parsedExpr, envAugmentation?)
Evaluates a parsed Lua expression and returns the result. Optionally accepts an environment table to augment the global environment.Example:local parsedExpr = spacelua.parseExpression("x + y")
local result = spacelua.evalExpression(parsedExpr, {x = 1, y = 2})
print(result) -- prints: 3
spacelua.interpolate(template, envAugmentation?)
Interpolates a string with lua expressions and returns the result. Expressions are wrapped in ${...} syntax. Optionally accepts an environment table to augment the global environment.Example:local greeting = spacelua.interpolate("Hello ${name}!", {name="Pete"})
print(greeting) -- prints: Hello Pete!
spacelua.baseUrl()
Returns your SilverBullet instance's base URL, or nil when run on the server.Example:local url = spacelua.baseUrl()
print(url) -- prints something like: https://example.com