Vorlage:Hilio/doc

Zur Navigation springen Zur Suche springen
Bearbeiten · Raw · Versionen · Cache leeren · Messages · Seiteninformation · Vorlage bearbeiten · Seiteninformation Vorlage
Diese Seite ist die Dokumentations-Unterseite der Vorlage Hilio

Die Vorlage {{Hilio}} ruft den Modul Hili mit dem Unterprogramm hilio auf und bewirkt eine syntaktische Einfärbung des Programmcodes. Für das Funktionieren ist die [Erweiterung Syntaxhighlight][1] erforderlich.

Der Unterschied zur Vorlage {{Hili}} besteht darin, dass nur der Lilypond-Code nur für festgelegte Benutzeraccounts angezeigt wird.

Parameter

x
NameBeschreibungStandardStatus
musLilypond Score\relative c'' { c4 d e }optional
langSprache deren Syntax angewendet werden wolllatexoptional

Kopiervorlagen

{{Hilio|mus=|lang=}}
{{Hilio|mus=|lang=}}
{{Hilio
|mus=
|lang=}}
{{Hilio
|mus=
|lang=}}

Anwendung

{{Hilio}}
ergibt angewendet:
{{Hilio|mus=\markup "ABC"|width=50em}}
ergibt angewendet:

Code

<includeonly>

<onlyinclude><div><div style="display: inline-block; margin: 0; width: {{{width|auto}}}">{{#invoke:Lilypond|hilio}}</div></div></onlyinclude> </includeonly>

{{Dokumentation}}

Lua-Code

function p.hilio(frame)
	-- Syntaxhighlighting von Lilypond-Code
	-- wird nur bei Adminaccount angezeigt
	-- standardmäßig als Latex formatiert, weil es keine spezielle Lilypond-Syntax gibt
	
	local a = frame.args             -- Direktaufruf via invoke
	local b = frame:getParent().args -- Aufruf via Vorlage

	local mus = music

	for k, v in pairs(a) do
		if string.lower(k) ~= "lang" then -- damit kann der Parameter beliebig benannt werden, nur lang wird ausgenommen
			mus = v 
			break 
		end
	end
	for k, v in pairs(b) do
		if string.lower(k) ~= "lang" then -- damit kann der Parameter beliebig benannt werden, nur lang wird ausgenommen
			mus = v 
			break 
		end
	end
	local _lang = a.lang or b.lang or 'latex'
	local _ = frame:extensionTag { name = 'syntaxhighlight', content = mus, args = { lang = _lang } }
	return frame:preprocess('')
end