Module:Dir
From Neodyland Wiki
More actions
This documentation is transcluded from Module:Dir/doc.
-- This module implements [[Template:Dir]].
local rtlOverrides = mw.loadData('Module:Dir/RTL overrides')
local p = {}
local function trim(s)
if s then
return s:match('^%s*(.-)%s*$')
else
return nil
end
end
local function trimAndRemoveBlanks(s)
if s then
s = trim(s)
if s ~= '' then
return s
end
end
return nil
end
local function isRTL(code)
local success, ret = pcall(function ()
return rtlOverrides[code] or mw.language.new(code):isRTL()
end)
return success and ret
end
function p.main(frame)
local args = frame:getParent().args
local code = trimAndRemoveBlanks(args[1])
if isRTL(code) then
return trim(args[2]) or 'rtl'
else
return trim(args[3]) or 'ltr'
end
end
return p