Module:Signpost and Module:Signpost/sandbox: Difference between pages
Appearance
(Difference between pages)
Content deleted Content added
TEST -- add method for returning subheadings. this may bust everything. |
use production index module |
||
Line 11: | Line 11: | ||
local Article = {} |
local Article = {} |
||
Article.__index = Article |
Article.__index = Article |
||
Article.viewSpans = {7, 15, 30, 60, 90, 120, 180} |
|||
Article.rowMethods = { |
Article.rowMethods = { |
||
page |
page = 'getPage', |
||
fullpage = 'getFullPage', |
fullpage = 'getFullPage', |
||
date |
date = 'getDate', |
||
title |
title = 'getTitle', |
||
subpage |
subpage = 'getSubpage', |
||
author = 'getAuthor', |
|||
subhead = 'getSubhead', |
|||
} |
} |
||
-- Register viewsNN row methods |
|||
for _, span in ipairs(Article.viewSpans) do |
|||
Article.rowMethods["views" .. span] = "getViews" .. span |
|||
end |
|||
function Article.new(data) |
function Article.new(data) |
||
Line 54: | Line 45: | ||
function Article:getSubpage() |
function Article:getSubpage() |
||
return self.data.subpage |
return self.data.subpage |
||
end |
|||
function Article:getAuthor() |
|||
return self.data.authors[1] |
|||
end |
end |
||
function Article:getAuthors() |
function Article:getAuthors() |
||
return self.data.authors |
return self.data.authors |
||
end |
|||
-- Add getViewsNN methods |
|||
for _, span in ipairs(Article.viewSpans) do |
|||
Article["getViews" .. span] = function(self) |
|||
if self.data.views then |
|||
return self.data.views[string.format("d%03d", span)] |
|||
else |
|||
return nil |
|||
end |
|||
end |
|||
end |
|||
function Article:getSubhead() |
|||
return self.data.subhead |
|||
end |
end |
||
Line 153: | Line 125: | ||
function Article:renderFormat(format) |
function Article:renderFormat(format) |
||
local args = self:makeRowArgs(articleObj) |
local args = self:makeRowArgs(articleObj) |
||
local ret = format:gsub('(%${( |
local ret = format:gsub('(%${(%a+)})', function (match, key) |
||
return args[key] or match |
return args[key] or match |
||
end) |
end) |