Module:Sandbox/Andrybak and Module:Sandbox/Andrybak/sandbox: Difference between pages

(Difference between pages)
Jump to navigation Jump to search
Page 1
Page 2
imported>Andrybak
code comment
 
imported>Andrybak
test
 
Line 1: Line 1:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local Date = require('Module:Date')._Date
-- TODO use TemplateStyles


p = {}
p = {}


function p.documentationMakeExperimentBlurb(frame)
local function wikiError(message)
local mDoc = require('Module:Documentation')
local ret = mw.html.create('div')
local env = mDoc.getEnvironment(getArgs(frame))
:addClass('error')
-- without `.. ''` a "2" is appended to the output, weird...
:wikitext(message)
return mDoc.makeExperimentBlurb({}, env) .. ''
return tostring(ret)
end
 
-- replace all newlines in the string with break tags
-- slideshow only supports single line captions
local function replaceNewlines(s)
return mw.ustring.gsub(s, '%c', 'XXXX')
end
 
-- Extract value named "paramName" from a subpage of [[Template:POTD]]
local function getPotdPart(frame, potdSubpage, paramName)
return frame:expandTemplate{
title = potdSubpage,
args = { paramName }
}
end
end
-- bottom half of [[Template:Portal POTD]] for a POTD subpage
local function getPotdText(frame, potdDate, moreHtml)
local potdText = getPotdPart(frame, "POTD/" .. potdDate, "portal layout/text")
mw.log(potdText)
local debugText = "<br/>BEFORE: " .. potdText
potdText = replaceNewlines(potdText)
debugText = debugText .. "<br/>AFTER: " .. potdText
mw.log(potdText)
mw.log("---------------------------")
if moreHtml
then
potdText = potdText .. moreHtml .. debugText
end
return potdText
end
function main(frame)
local root = getPotdText(frame, "2013-10-18", "xyzzy")
return frame:preprocess(root)
end
p.main = main


return p
return p