local p = {}
--- Examples: "RzF - 1 - zu § 103a FlurbG", "RzF - 1 - zu § 10 Nr. 2 b FlurbG"
function p.sortierung ( frame )
local paragraph = mw.text.trim( frame.args[1] ) -- "103a"
local absatz = mw.text.trim( frame.args[2] ) -- "2 b"
absatz = string.gsub( absatz, " ", "" ) -- "2b"
local satz = mw.text.trim( frame.args[3] )
local lfndNr = mw.text.trim( frame.args[4] )
local chars = {
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z'
}
local weight = 0;
local paragraphEnd = string.sub( paragraph, -1 )
local paragraphEndIndex = p.index_of( chars, paragraphEnd )
if paragraphEndIndex > -1 then
weight = weight + paragraphEndIndex / table.getn( chars )
paragraph = string.sub( paragraph, 1, string.len( paragraph ) -1 )
end
local absatzEnd = string.sub( absatz, -1 )
local absatzEndIndex = p.index_of( chars, absatzEnd )
if absatzEndIndex > -1 then
weight = weight + absatzEndIndex / table.getn( chars )
absatz = string.sub( absatz, 1, string.len( absatz ) -1 )
end
local sort = 0
sort =
( paragraph * 1000000000 ) +
( satz * 1000000 ) +
( absatz * 1000 ) +
lfndNr +
weight
sort = math.ceil( sort * 100 )
return sort
end
function p.index_of ( tab, val )
for index, value in ipairs(tab) do
if value == val then
return index
end
end
return -1
end
-- RzF - {{SUBPAGENAME}} - zu {{BASEPAGENAME}} {{NAMESPACE}}
function p.anzeigename ( frame )
local currentTitle = mw.title.getCurrentTitle()
local subpagename = currentTitle.subpageText
local paragraphAbsNrSatz = currentTitle.baseText
local namespaceText = currentTitle.nsText
return 'RzF - ' .. subpagename .. ' - zu ' .. paragraphAbsNrSatz .. ' ' .. namespaceText
end
return p
Du siehst gerade eine alte Version dieser Seite. Zurück zur letzten Version.
Dies ist die Version von 28. Juli 2021, 14:16 von [[User:imported>WikiSysop|imported>WikiSysop]]