Vorlage:Alle module/doc
Diese Seite ist die Dokumentations-Unterseite der Vorlage Alle module |
Die Vorlage {{Alle module}} listet den Code aller Module auf.
Alle Vorlagen mit Scribunto-Aufrufen: Alle module, Cats, Coco, Countdown, Dokumentation bearbeiten, DurTonleiter, Ensemble, Hili, Hilio, Klavierscore, Lenplus, Lilypond, LSR, Lua/cats, Lua/catx, Lua/eiffel, Lua/ensemble, Lua/hili, Lua/hilio, Lua/lenplus, Lua/lily, Lua/midi, Lua/pianoduet, Lua/rep, Lua/scale, Lua/score, Lua/staffgroup, Lua/svg, Lua/tag, Lua/vb, Midi, Mixi, PHP, Php, Pianoduet, Rep, Scale, Scheme, Score, SQL, Tag, Tonleiter, Vb, Vorlage
Parameter
Kopiervorlagen
Anwendung
{{Alle module}}
Hili
Gotteslob
local p = {} -- p stands for package
-- local tab = require( "Module:Gotteslob/tabelle" ) -- damit funktioniert die Parameterübergabe korrekt
function p.jahr(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die aufrufende Vorlage übergebene Parameter
local sort = a.sort or b.sort or '2022'
local myname = mw.title.getCurrentTitle().text
mydatum = string.match(myname, ('%d%d%d%d')) -- extrahiert 4 hintereinander vorkommende Ziffern
if mydatum~=nil and mydatum >= ' ' then
return '[[Category:' .. mydatum .. '|' .. sort .. ']]'
end
end
function p.nrlink(frame)
-- erzeugt einen abgekürzten Link ohne Titel
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die aufrufende Vorlage übergebene Parameter
local alt = trim(a["alt"] or b["alt"] or a[2] or b[2] or '')
local neu = trim(a["neu"] or b["neu"] or a[1] or b[1] or '')
local nr = neu or alt or '---'
local class = trim(a["class"] or b["class"] or a[3] or b[3] or 'error')
if alt == '---' or neu == '---' then return '---' end
local n, a, url, titel = getlob(frame,neu,alt)
local _ = '[[' .. url.. '|' .. n .. '(' .. a .. ')]]'
if url == '' then return '<span class="error">' .. nr .. '</span>' end
return _
end
function p.golo(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die aufrufende Vorlage übergebene Parameter
local alt = trim(a["alt"] or b["alt"] or a[2] or b[2] or '')
local neu = trim(a["neu"] or b["neu"] or a[1] or b[1] or '')
local class = trim(a["class"] or b["class"] or a[3] or b[3] or 'error')
local n, a, url, titel = getlob(frame,neu,alt)
local _ = '[[' .. url.. '|GL ' .. n .. ': ' .. titel .. ' (alt: ' .. a .. ')]]'
if url == '' then return '<span class="' .. class .. '">Lied ' .. neu .. alt .. ' nicht gefunden</span>' end
return _ --.. url .. titel .. n .. a
end
function getlob(frame,pneu,palt)
local new = trim(pneu or '')
local old = trim(palt or '')
local nrliste = 'Score:Gotteslob'
local nummern = frame:preprocess('[[:Vorlage:' .. nrliste .. ']]')
local numtab = mw.text.split(nummern, '[%c]' )
local zeilen = #numtab
local i, einlied, j, _, zeile
local alt, neu, url, titel = '', '', '', ''
for i=1,zeilen do
zeile = mw.text.split(numtab[i], '[%*]' )
url = zeile[1]
neu = trim(zeile[2] or '')
alt = trim(zeile[3] or '---')
titel = zeile[4] or url
if new ~= '' and new ~= nil and new == neu then
return neu, alt, url, titel
end
if old ~= '' and old ~= nil and old == alt then
return neu, alt, url, titel
end
end
return '', '', '', ''
end
function p.lob(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die Vorlage übergebene Parameter
local nrliste = 'Score:Gotteslob'
local nummern = frame:preprocess('[[:Vorlage:' .. nrliste .. ']]')
local numtab = mw.text.split(nummern, '[%c]' )
local zeilen = #numtab
local i, einlied, j, _, zeile, dont
_ = ''
for i=1,zeilen do
zeile = mw.text.split(numtab[i], '[%*]' )
url = zeile[1]
neu = zeile[2] or ''
alt = zeile[3] or ''
titel = zeile[4] or url
dont = zeile[5]
if url > ' ' and zeile[5] ~= '-' then
_ = _ .. '<tr><td>[[' .. url.. '|' .. titel .. ']]</td><td>' .. neu .. '</td><td>' .. alt .. '</td></tr>'
end
end
_ = '<table class="wikitable sortable"><tr><th style="text-align: left;">Titel</th><th># neu</th><th># alt</th></tr>' .. _ .. '</table>'
return _
end
function p.lieder(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die Vorlage übergebene Parameter
-- Liederliste ohne Links
local nrliste = 'Score:Gottesloblieder'
local nummern = frame:preprocess('[[:Vorlage:' .. nrliste .. ']]')
local numtab = mw.text.split(nummern, '[%c]' )
local zeilen = #numtab
local i, einlied, j, _, zeile
_ = ''
for i=1,zeilen do
zeile = mw.text.split(numtab[i], '[%*]' )
url = zeile[1]
neu = zeile[2] or ''
alt = zeile[3] or ''
titel = zeile[4] or url
if url > ' ' then
_ = _ .. '<tr><td>' .. titel .. '</td><td>' .. neu .. '</td><td>' .. alt .. '</td></tr>'
end
end
_ = '<table class="wikitable sortable"><tr><th style="text-align: left;">Titel</th><th># neu</th><th># alt</th></tr>' .. _ .. '</table>'
return _
end
function p.gololied(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die aufrufende Vorlage übergebene Parameter
local alt = trim(a["alt"] or b["alt"] or a[2] or b[2] or '')
local neu = trim(a["neu"] or b["neu"] or a[1] or b[1] or '')
local n, a, url, titel = getlied(frame,neu,alt)
local _ = 'GL ' .. n .. ': ' .. titel .. ' (alt: ' .. a .. ')'
if url == '' then return 'Lied ' .. neu .. alt .. ' nicht gefunden' end
return _ --.. url .. titel .. n .. a
end
function getlied(frame,pneu,palt)
local new = trim(pneu or '')
local old = trim(palt or '')
local nrliste = 'Score:Gottesloblieder'
local nummern = frame:preprocess('[[:Vorlage:' .. nrliste .. ']]')
local numtab = mw.text.split(nummern, '[%c]' )
local zeilen = #numtab
local i, einlied, j, _, zeile
local alt, neu, url, titel = '', '', '', ''
for i=1,zeilen do
zeile = mw.text.split(numtab[i], '[%*]' )
url = zeile[1]
neu = trim(zeile[2] or '')
alt = trim(zeile[3] or '---')
titel = zeile[4] or url
if new ~= '' and new ~= nil and new == neu then
return neu, alt, url, titel
end
if old ~= '' and old ~= nil and old == alt then
return neu, alt, url, titel
end
end
return '', '', '', ''
end
function p.og(frame)
-- Stücke ohne Gesangstext
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die Vorlage übergebene Parameter
local nrliste = 'Score:Gottesdienst ohne Gesang'
local nummern = frame:preprocess('[[:Vorlage:' .. nrliste .. ']]')
local numtab = mw.text.split(nummern, '[%c]' )
local zeilen = #numtab
local i, einlied, j, _, zeile, orig
_ = ''
for i=1,zeilen do
zeile = mw.text.split(numtab[i], '[%*]' )
url = zeile[1]
titel = zeile[2] or url
orig = zeile[3] or ''
if url > ' ' then
_ = _ .. '<tr><td>[[' .. url.. '|nach: ' .. titel .. ']]</td><td>' .. orig .. '</td></tr>'
end
end
_ = '<table class="wikitable sortable"><tr><th style="text-align: left;">Titel</th><th style="text-align: left;">Originallied</th></tr>' .. _ .. '</table>'
return _
end
function p.page(frame)
local a = frame.args -- direkt per #invoke: übergeben
local b = frame:getParent().args -- an die Vorlage übergebene Parameter
local lieder = tab.gotteslob
local anzahl = #lieder
local _, titel, url, alt, neu = '', '', '', 0, 0
local i
local zeile = { }
for i = 1, anzahl do
zeile = lieder[i]
url = zeile[1]
neu = zeile[2] or ''
alt = zeile[3] or ''
titel = zeile[4] or url
_ = _ .. '<tr><td>[[' .. url.. '|' .. titel .. ']]</td><td>' .. neu .. '</td><td>' .. alt .. '</td></tr>'
end
_ = '<table class="wikitable sortable"><tr><th style="text-align: left;">Titel</th><th># neu</th><th># alt</th></tr>' .. _ .. '</table>'
return _
end
function trim(s)
-- from PiL2 20.4
return (s:gsub("^%s*(.-)%s*$", "%1"))
end
return p
LSR
Lilypond
Math
Code
<includeonly><onlyinclude>
== Hili ==
<!-- {{#tag:syntaxhighlight|{{Module:Hili}}|lang=lua}} -->
== Gotteslob ==
{{#tag:syntaxhighlight|{{Module:Gotteslob}}|lang=lua}}
== Pdf ==
<!-- {{#tag:syntaxhighlight|{{Module:Pdf}}|lang=lua}} -->
== LSR ==
<!-- {{#tag:syntaxhighlight|{{Module:LSR}}|lang=lua}} -->
== Lilypond ==
<!-- {{#tag:syntaxhighlight|{{Module:Lilypond}}|lang=lua}} -->
== Math ==
<!-- {{#tag:syntaxhighlight|{{Module:Math}}|lang=lua}} -->
</onlyinclude></includeonly>{{Dokumentation}}