-- This module implements .
local p =
function p.main(frame) -- Use arguments from the parent frame only, and remove any blank arguments. -- We don't need to trim whitespace from any arguments, as this module only -- uses named arguments, and whitespace is trimmed from them automatically. local origArgs = frame:getParent.args local args = for k, v in pairs(origArgs) do if v ~= then args[k] = v end end
-- Define the variables to pass to luaMain. local sup = args.p local sub = args.b local options = return p._main(sup, sub, options)end
function p.invoke_main(frame) -- entry point for invocation using frame arguments local origArgs = frame.args local args = for k, v in pairs(origArgs) do if v ~= then args[k] = v end end
-- Define the variables to pass to luaMain. local sup = args.p local sub = args.b local options = return p._main(sup, sub, options)end
function p._main(sup, sub, options) options = options or local span = mw.html.create('span')
-- Set the styles. span:css if options.fontSize
'fixed' then span:css else span:css('font-size', options.fontSize or '80%') end if options.align
'right' then span:css('text-align', 'right') elseif options.align
'center' then span:css('text-align', 'center') else span:css('text-align', 'left') end
-- Add the wikitext. span :tag('sup') :css('font-size', 'inherit') :css('line-height', 'inherit') :css('vertical-align', 'baseline') :wikitext(sup) :done :tag('br',):done :tag('sub') :css('font-size', 'inherit') :css('line-height', 'inherit') :css('vertical-align', 'baseline') :wikitext(sub) return '
⁠' .. tostring(span) .. '⁠'endreturn p