Toggle menu
14
229
69
27.1K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

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