17,273
edits
(couple bugfixes with table) |
(parse extra as json) |
||
Line 49: | Line 49: | ||
local pagetree = { default = {} } | local pagetree = { default = {} } | ||
for _, page in ipairs( pages ) do | for _, page in ipairs( pages ) do | ||
-- | -- get metadata | ||
if page.extra then | |||
-- remove extra from sortkey | |||
page.sortkey = string.sub( page.sortkey, 1, -string.len( page.extra ) - 2 ) | |||
local success, result = pcall( mw.text.jsonDecode, page.extra ) | |||
if success then | |||
page.extra = result | |||
else | |||
page.sortkey = page.text .. mw.getCurrentFrame():expandTemplate{ title = 'Tt', args = { 'PARSING ERROR: Please ensure the argument to \'extra\' in this page\'s invocation of {{Cat}} is valid JSON' } } | |||
page.extra = {} | |||
end | end | ||
else page.extra = {} | |||
end | end | ||