Vorlage:LSR

Zur Navigation springen Zur Suche springen
Bearbeiten · Versionen · Cache leeren · Messages · Seiteninformation
Die Vorlage LSR ist nur auf eingebundenen Seiten voll sichtbar und auf dieser Seite versteckt.

Vorlagendokumentation Bearbeiten · Raw · Versionen · Cache leeren · Seiteninformation
Diese Vorlagendokumentation wird von der Seite Vorlage:LSR/doc eingebunden.

Die Vorlage {{LSR}} ist für Verwendung in LSR-Seiten gedacht. Das LSR war down, was einen ziemlichen Schreck bedeutete.

Im Artikelnamensraum wird der Modul LSR mit der Prozedur pagex aufgerufen.

Auf Kategorieseiten wird der Modul Hili mit der Prozedur cats aufgerufen.

Die LSR-Nummer muss in der Tabelle der Snippets eingetragen werden, sonst zeigt der Modul nichts an.

Parameter

x
NameBeschreibungStandardStatus
1Titel des SnippetsTitel fehltoptional
textBeschreibungstext des SnippetsBeschreibung fehltoptional
heightBildhöhe200pxoptional
widthBildbreiteautooptional
wsCSS-Eigenschaft white-spacepre-wrapoptional

Kopiervorlagen

{{LSR|1=|text=|height=|width=|ws=}}
{{LSR|1=|text=|height=|width=|ws=}}
{{LSR
|1=
|text=
|height=
|width=
|ws=}}
{{LSR
|1=
|text=
|height=
|width=
|ws=}}

Anwendung

{{LSR}}
ergibt angewendet:

Code

<includeonly><onlyinclude>

{{#switch:{{NAMESPACENUMBER}} |0={{Pd|1=wurde aus dem {{Ref|1=http://lsr.di.unimi.it/LSR/|2=LilyPond Snippet Repository|ref=}} übernommen und}}{{#invoke:LSR|pagex}}{{cats|LSR}} |828|3000={{#invoke:Hili|cats|LSR|sort=X}} |10={{VListe|LSR|LSR|Vorlagen in Zusammenhang mit dem LSR}}{{#invoke:Hili|cats|LSR|sort=V}} |6={{Pd|1=wurde aus dem {{Ref|1=http://lsr.di.unimi.it/LSR/|2=LilyPond Snippet Repository|ref=}} übernommen und|2=Diese Grafik}}{{#invoke:Hili|cats|LSR|Drawing with Lilypond}}

|#default=}}</onlyinclude></includeonly>{{Dokumentation}}

Modul pagex

function p.pagex(frame)
	local a = frame.args              -- direkt per #invoke: übergeben
	local b = frame:getParent().args  -- an die Vorlage übergebene Parameter

	local width = a.width or b.width or 'auto'
	local height = a.height or b.height or '200px'
	local text  = a.text or b.text or 'Beschreibung fehlt'
	local ws    = a.ws or b.ws or 'normal'
	
	local lsr = "LSR/"
	local nrliste = 'Score:LSR'
	local i, titel, url, clsr, zeile
	
	local nummern = frame:preprocess('{{' .. nrliste .. '}}')
	local alsr = mw.text.split(nummern, '[%c]' )  -- Tabelle der Snippets mit Titel und #
	
	local ich  = mw.title.getCurrentTitle()
	local llnr = ich.subpageText
	local _    = 'Code Snippet Nr. ' .. llnr .. ' nicht in der [[Score:LSR|Snippet-Tabelle]] vorhanden, bitte eintragen'
	
	for i=1, #alsr do
		zeile = mw.text.split(alsr[i], '[%*]' )
		titel = trim(zeile[1])
		clsr  = trim(zeile[2])
		if 	clsr == llnr then
			_ = '{{TOC}}{{Überschrift|1='
			_ = _ .. titel .. '}}\n{{Ref|1=http://lsr.di.unimi.it/LSR/Item?id=' .. llnr
			_ = _ .. '|2=LSR Snippet Nr. ' .. llnr .. '|ref=}}\n'

			_ = _ .. '\n== Beschreibung =='
			_ = _ .. '\n<div style="margin-bottom: 1em; white-space: ' .. ws .. '">' .. text .. '\n</div>'
			_ = _ .. '\n<tabber>\nGrafische Ausgabe='
			_ = _ .. '\n{{Bildteil|1=LSR_pic_' .. llnr .. '.png|bildheight=' .. height .. '|height=' .. height .. '|overflow=none}}'
			_ = _ .. '\n|-|\nLilypond Code='
			_ = _ .. '\n<div class="noprint noclick"><div style="display: inline-block">{{#tag:inputbox|'
			_ = _ .. '\ntype=create'
			_ = _ .. '\nbreak=no'
			_ = _ .. '\nwidth={{{weit|20em}}}'
			_ = _ .. '\nbuttonlabel={{{but|Score erstellen/bearbeiten}}}'
			_ = _ .. '\ndefault={{{score|{{FULLPAGENAME}}/code}}}'
			_ = _ .. '\npreload={{{pre|Template:LSR/subpage}}}}}</div></div>'
			_ = _ .. '\n{{:{{PAGENAME}}/code}}'
			_ = _ .. '\n|-|\nLilypond Code Oneclick='
			_ = _ .. '\n<div class="oneclick">{{:{{PAGENAME}}/code}}</div>'
			_ = _ .. '\n</tabber>'
			_ = _ .. '\n==Unterseiten=='
			_ = _ .. '\n<div style="column-count: 3; width: 1000px">\n{{:Special:PrefixIndex/:{{PAGENAME}}/}}\n</div> __NOEDITSECTION__'
		end
	end
	return frame:preprocess(_)
end

Verwendungen dieser Vorlage

Unterseiten