Modul:Marker: Unterschied zwischen den Versionen

CamNet - das Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 38: Zeile 38:
local args = getArgs(frame)
local args = getArgs(frame)
local name = args.name or args[1] or mw.title.getCurrentTitle().prefixedText
local name = args.name or args[1] or mw.title.getCurrentTitle().prefixedText
local me = Class:new(mw.title.getCurrentTitle().prefixedText .. '_' .. stringHash(name))
local me = Class:new(mw.title.getCurrentTitle().prefixedText .. '_marker_' .. stringHash(name))
me:initFromArgs(args)
me:initFromArgs(args)
me:storeData()
me:storeData()

Aktuelle Version vom 17. Februar 2016, 16:59 Uhr

Documentation icon Module documentation

This module implements template {{Marker}}.

Usage

{{#invoke:Marker|main}}

It also provides some additional "gateways" to some of Module:Marker/class's static methods:

{{#invoke:Marker|categorize}}
{{#invoke:Marker|categoryPage}}
{{#invoke:Marker|explainDataStore}}
{{#invoke:Marker|gardeningCategoryPage}}
{{#invoke:Marker|sfGenerateForm}}
{{#invoke:Marker|sfGenerateFormEntry}}
{{#invoke:Marker|sfGenerateFormLink}}
{{#invoke:Marker|templateDocumentation}}

Maintenanace notes

This page was created by Module:Classgenerator and belongs to Class:Marker.

local p = {}
local Class = require('Module:Marker/class')
local getArgs = require('Module:Arguments').getArgs

local function stringHash(text)
	local counter = 1
	local len = string.len(text)
	for i = 1, len, 3 do 
	counter = math.fmod(counter*8161, 4294967279) +  -- 2^32 - 17: Prime!
		(string.byte(text,i)*16776193) +
		((string.byte(text,i+1) or (len-i+256))*8372226) +
		((string.byte(text,i+2) or (len-i+256))*3932164)
	end
	return math.fmod(counter, 4294967291) -- 2^32 - 5: Prime (and different from the prime in the loop)
end

function p.categorize(frame)
	return tostring(Class:categorize())
end

function p.categoryPage(frame)
	return tostring(Class:categoryPage())
end

function p.explainDataStore(frame)
	return tostring(Class:explainDataStore())
end

function p.gardeningCategoryPage(frame)
	return tostring(Class:gardeningCategoryPage())
end

function p.templateDocumentation(frame)
	return tostring(Class:templateDocumentation())
end

function p.main(frame)
	local args = getArgs(frame)
	local name = args.name or args[1] or mw.title.getCurrentTitle().prefixedText
	local me = Class:new(mw.title.getCurrentTitle().prefixedText .. '_marker_' .. stringHash(name))
	me:initFromArgs(args)
	me:storeData()
--	me:addInfobox()
--	me:addPageBody()
 	return me:render()
end

return p