Module:Purge
Revision as of 06:38, 14 May 2015 by test>Mr. Stradivarius (Protected Module:Purge: High-risk Lua module ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)))
| 40x40px | 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. |
| 40x40px | This module is used in system messages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid large-scale disruption, any changes should first be tested in this module's /sandbox or /testcases subpage, or in your own user space. The tested changes can then be added in one single edit to this module. Please discuss any changes on the talk page before implementing them. |
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 = 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