Module:Purge
Revision as of 17:20, 13 November 2017 by en>Dinoguy1000 (from the sandbox: if the pagename is specified, don't add the title text or its span)
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module produces a link to purge a page's cache. This is usually the current page, but can be another page.
Usage
From wiktext
From wikitext, this module should be accessed via Template:Purge. Please see the template page for documentation.
From Lua
From Lua, first you need to load the module:
local mPurge = require('Module:Purge')
Then you can create purge links with the _main
function:
mPurge._main(args)
args is a table of arguments, identical to the ones accepted by Template:Purge. Please see the template documentation for more details.
-- 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