Module:Purge: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Mr. Stradivarius (add args.page) |
meta>Mr. Stradivarius (use an informative error message for invalid titles) |
||
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 | |||
mw.title.getCurrentTitle() | |||
end | |||
if args.anchor then | if args.anchor then | ||
title.fragment = args.anchor | title.fragment = args.anchor |
Revision as of 06:26, 14 May 2015
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 mw.title.getCurrentTitle() end if args.anchor then title.fragment = args.anchor end url = title:fullUrl{action = 'purge'} end -- Make the display local display = mw.html.create('span') display :attr('title', 'Purge this page') :wikitext(args[1] or 'Purge') display = tostring(display) -- 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