local common = require 'filters.lib.common' local vars = {} function meta(meta) vars = meta end function str(el) local prefix, varref, suffix = el.text:match('^(.*)%%([^ ]+)%%(.*)$') if varref then local parts = varref:split(".") local var = vars for i = 1, #parts do local part = parts[i] local v = var[part] if not v then return el end var = v end if var then return pandoc.Str(prefix .. var .. suffix) end end return el end return { { Meta = meta }, { Str = str } }