Module:Purge: Difference between revisions
From All Skies Encyclopaedia
imported>Mr. Stradivarius m (Mr. Stradivarius moved page Module:Progress box to Module:Purge without leaving a redirect: use the right name) |
imported>Dinoguy1000 (from the sandbox: if the pagename is specified, don't add the title text or its span) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 11: | Line 11: | ||
local url |
local url |
||
do |
do |
||
local title |
local title |
||
if args.page then |
|||
title = mw.title.new(args.page) |
|||
if not title then |
|||
error(string.format( |
|||
"'%s' is not a valid page name", |
|||
args.page |
|||
), 2) |
|||
end |
|||
else |
|||
title = mw.title.getCurrentTitle() |
|||
end |
|||
if args.anchor then |
if args.anchor then |
||
title.fragment = args.anchor |
title.fragment = args.anchor |
||
Line 19: | Line 30: | ||
-- Make the display |
-- Make the display |
||
local display |
local display |
||
if args.page then |
|||
⚫ | |||
display = args[1] or 'Purge' |
|||
else |
|||
⚫ | |||
display = mw.html.create('span') |
|||
⚫ | |||
:attr('title', 'Purge this page') |
|||
⚫ | |||
display = tostring(display) |
|||
end |
|||
-- Output the HTML |
-- Output the HTML |
Latest revision as of 16:20, 13 November 2017
Documentation for this module may be created at Module:Purge/doc
-- This module implements [[Template:Purge]].
local p = {}
local function makeUrlLink(url, display)
return string.format('[%s %s]', url, display)
end
function p._main(args)
-- Make the URL
local url
do
local title
if args.page then
title = mw.title.new(args.page)
if not title then
error(string.format(
"'%s' is not a valid page name",
args.page
), 2)
end
else
title = mw.title.getCurrentTitle()
end
if args.anchor then
title.fragment = args.anchor
end
url = title:fullUrl{action = 'purge'}
end
-- Make the display
local display
if args.page then
display = args[1] or 'Purge'
else
display = mw.html.create('span')
display
:attr('title', 'Purge this page')
:wikitext(args[1] or 'Purge')
display = tostring(display)
end
-- Output the HTML
local root = mw.html.create('span')
root
:addClass('noprint')
:addClass('plainlinks')
:addClass('purgelink')
:wikitext(makeUrlLink(url, display))
return tostring(root)
end
function p.main(frame)
local args = frame:getParent().args
return p._main(args)
end
return p