Difference between revisions of "Module:Purge"

From blackwiki
Jump to navigation Jump to search
test>Waldyrious
(format anchor automatically. couldn't find a way to keep the hash symbol inside the #if:, but it does no harm outside anyway.)
test>Mr. Stradivarius
(make replacement for Template:Purge)
Line 1: Line 1:
<span class="noprint plainlinks purgelink">[{{fullurl:{{{page|{{FULLPAGENAME}}}}}|action=purge}}#{{#if:{{{anchor|}}}|{{urlencode:{{{anchor|}}}|WIKI}}}} <span title="Purge this page">{{{1|Purge}}}</span>]</span><noinclude>
+
-- This module implements [[Template:Purge]].
{{documentation}}
+
 
</noinclude>
+
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 = mw.title.getCurrentTitle()
 +
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

Revision as of 06:14, 14 May 2015

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 = mw.title.getCurrentTitle()
		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