Module:UpdateExcerpt: Difference between revisionsGive feedback
Jump to navigation
Jump to search
No edit summary Tags: Mobile edit Mobile web edit |
Added __NOEDITSECTION__ so the preview no longer shows edit buttons |
||
| Line 46: | Line 46: | ||
local maxHeight = maxLines * 1.7 | local maxHeight = maxLines * 1.7 | ||
local html = '<div style="flex:1; min-height:0; overflow-y:auto; max-height:' | |||
.. maxHeight | |||
.. 'em; padding:14px 18px; font-family: sans-serif; font-size:0.92em; line-height:1.7;">\n' | |||
.. '__NOEDITSECTION__\n' | |||
.. frame:preprocess(notesRaw) | |||
.. '\n</div>' | |||
return html | return html | ||
Revision as of 00:20, 16 April 2026
Documentation for this module may be created at Module:UpdateExcerpt/doc
local p = {}
function p.render(frame)
local args = frame.args
local month = args[1]
local day = args[2]
local year = args[3]
local maxLines = tonumber(args[4]) or 10
if not month or not day or not year then
return '<span class="error">Usage: {{#invoke:UpdateExcerpt|render|Month|Day|Year|lines}}</span>'
end
local pageTitle = "Update:" .. month .. " " .. day .. ", " .. year
local titleObj = mw.title.new(pageTitle)
if not titleObj then
return '<span class="error">Invalid page title: ' .. pageTitle .. '</span>'
end
local content = titleObj:getContent()
if not content then
return '<span class="error">Page not found: [[' .. pageTitle .. ']]</span>'
end
local notesStart = content:find("|%s*notes%s*=")
if not notesStart then
return '<span class="error">No notes parameter found on [[' .. pageTitle .. ']]</span>'
end
local sub = content:sub(notesStart)
local eqPos = sub:find("=")
local notesRaw = sub:sub(eqPos + 1)
local lastClose = notesRaw:find("}}%s*$")
if lastClose then
notesRaw = notesRaw:sub(1, lastClose - 1)
end
notesRaw = mw.text.trim(notesRaw)
if notesRaw == "" then
return ""
end
local maxHeight = maxLines * 1.7
local html = '<div style="flex:1; min-height:0; overflow-y:auto; max-height:'
.. maxHeight
.. 'em; padding:14px 18px; font-family: sans-serif; font-size:0.92em; line-height:1.7;">\n'
.. '__NOEDITSECTION__\n'
.. frame:preprocess(notesRaw)
.. '\n</div>'
return html
end
return p