Module:Lilytest: Difference between revisions
Content added Content deleted
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
local t = require('Module:Arguments') |
|||
function p.nsliste(frame) |
|||
--{{#invoke:Hili|nsliste|ab=}} |
|||
--erzeugt eine Tabelle mit Seitennummer und Namen in einem Namensraum |
|||
--sehr teuer in der Ausführung, daher werden nur 100 Listeneinträge |
|||
--inzwischen habe ich die Zahl der zulässigen Aufrufe in der LocalSettings.php auf 20000 erhöht, also praktisch unlimitiert |
|||
--Parameter: ab/abwo, Zahl ab der gestartet wird |
|||
local a = frame.args -- direkt per #invoke: übergeben |
|||
if empty(a) then a = mw.getCurrentFrame().args end -- an die Vorlage übergebene Parameter |
|||
local _ = '' |
|||
local seite, sname, ns, nstitel |
|||
local abwo = tonumber(a.ab or a.abwo) or 1 |
|||
local bishin = tonumber(a.bis or a.bishin) or 100 |
|||
local myns = string.lower(t.tidy(a.ns) or '') |
|||
local __ = '\nmyns: ' .. myns |
|||
for i = abwo, bishin do |
|||
seite = mw.title.new(i) |
|||
if seite then |
|||
nstitel = string.lower(seite.nsText) |
|||
ns = tostring(seite.namespace) |
|||
if myns == nstitel or myns == ns then |
|||
_ = _ .. '<tr><td>' .. i .. '</td><td>[[:' .. seite.prefixedText .. '|' .. seite.text .. ']]</td></tr>\n' |
|||
end |
|||
--__ = __ .. '\nns: ' .. ns .. ' nstitel: ' .. nstitel |
|||
end |
|||
end |
|||
_ = '<table class="cute"><tr><th>ID</th><th>Name</th></tr>' .. _ .. '</table>' |
|||
return _ --.. __ |
|||
end |
|||
function p.nrliste(frame) |
|||
--{{#invoke:Hili|nrliste|ab=}} |
|||
--erzeugt eine Tabelle mit Seitennummer und Namen |
|||
--sehr teuer in der Ausführung, daher werden nur 100 Listeneinträge |
|||
--inzwischen habe ich die Zahl der zulässigen Aufrufe in der LocalSettings.php auf 20000 erhöht, also praktisch unlimitiert |
|||
--Parameter: ab/abwo, Zahl ab der gestartet wird |
|||
local a = frame.args -- direkt per #invoke: übergeben |
|||
if empty(a) then a = mw.getCurrentFrame().args end -- an die Vorlage übergebene Parameter |
|||
local _ = '' |
|||
local seite, sname, ns, nstitel |
|||
local abwo = tonumber(a.ab or a.abwo) or 1 |
|||
for i = abwo, abwo + 99 do |
|||
seite = mw.title.new(i) |
|||
if seite then |
|||
nstitel=seite.nsText |
|||
if nstitel == '' then nstitel = 'Artikel' end |
|||
_ = _ .. '<tr><td>' .. i .. '</td><td>[[:' .. seite.prefixedText .. '|' .. seite.text .. ']]</td><td>' .. nstitel .. '</td></tr>\n' |
|||
end |
|||
end |
|||
_ = '<table class="cute"><tr><th>ID</th><th>Name</th><th>Namensraum</th></tr>' .. _ .. '</table>' |
|||
return _ |
|||
end |
|||
function p.getid(frame) |
|||
--{{#invoke:Hili|getid|seite=|ns=}} |
|||
local was = frame.args.seite or frame:getParent().args.seite or 'Lua' -- Seitentitel |
|||
local ns = frame.args.ns or frame:getParent().args.ns or '' -- Namensraum |
|||
local namesp = t.tidy(ns) or 'Artikel' |
|||
local seite = mw.title.new(was, ns) |
|||
local _ = seite.id |
|||
if _ == 0 then return 'Seite ' .. was .. ' existiert nicht im Namensraum ' .. namesp end |
|||
namesp = seite.nsText |
|||
local fulln = seite.prefixedText |
|||
return 'Die Seite ' .. fulln .. ' hat die ID ' .. _ |
|||
end |
|||
-- {{#invoke:Lilytest|html}} |
-- {{#invoke:Lilytest|html}} |
||
function p.html(frame) |
function p.html(frame) |