Vorlage:Code: Unterschied zwischen den Versionen

This is [[MediaWiki:Tagline]]. Set to <code>display:none</code> by chameleon skin.
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
imported>Oetterer
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
<div style="text-align:right; width:auto; margin:0; line-height:1"><clippy>{{{code|{{{2}}}}}}</clippy></div>
<div {{#if:{{{id|}}}|id="{{{id}}}"}} class="codebox" {{#ifeq:{{{3|{{{scroll|yes}}}}}}|yes|style="overflow:auto; width:auto; {{{style|}}}"}}>
<div class="codebox" {{#ifeq:{{{3|scroll}}}|scroll|style="overflow:auto; width:auto; {{{style|}}}"}}>
{{#tag:syntaxhighlight|{{{code|{{{2|sample text}}}}}}|lang="{{{lang|{{{1|text}}}}}}"|enclose="{{#ifeq:{{{3|{{{scroll|yes}}}}}}|yes|pre|div}}"|start="{{{start|1}}}"|highlight="{{{highlight|}}}"|line="{{{line|off}}}"}}
{{#tag:syntaxhighlight|{{{code|{{{2}}}}}}|lang="{{{lang|{{{1|text}}}}}}"|enclose="{{#ifeq:{{{3|scroll}}}|scroll|pre|div}}"|line}}
</div>
</div>
<div style="text-align:right; width:auto"><clippy>{{{code|{{{2}}}}}}</clippy></div><noinclude>
<noinclude>
{{documentation}}
{{documentation}}
<!-- Add categories to the /doc subpage, not here! -->
<!-- Add categories to the /doc subpage, not here! -->
</noinclude>
</noinclude>

Aktuelle Version vom 10. Februar 2022, 22:33 Uhr

sample text
Documentation icon Template documentation[view] [edit] [history] [purge]

Description

This is a combination of the parser function <syntaxhighlight>...</syntaxhighlight> and the template {{pre2}}. It allows for code coloring depending on programming language conventions (like <syntaxhighlight>...</syntaxhighlight>) and inherits {{pre2}}'s ability for creating a horizontal slider if necessary (and requested). Also: It adds buttons to copy code into the clipboard.

{{#vardefine:ambox_color|info}}

   {{#vardefine:ambox_image|Information icon4.svg}}{{#vardefine:ambox_imageSize|40x40px}}{{#vardefine:ambox_image|[[File:{{#var:ambox_image|Mbox notice.png}}|{{#var:ambox_imageSize|40x40px}}|alt=|link=]]}}{{#vardefine:ambox_content|{| class="metadata plainlinks"

|-

| class="mbox-image" |
{{#var:ambox_image}}

| class="mbox-text" |If you want to code wikitext, use lang html, html4strict, moin or xml, since the parser function does not have a mediawiki or wikitext lang. |}

}}


{{#vardefine:ambox_color|danger}}

   {{#vardefine:ambox_image|Ambox warning pn.svg}}{{#vardefine:ambox_imageSize|40x40px}}{{#vardefine:ambox_image|[[File:{{#var:ambox_image|Mbox notice.png}}|{{#var:ambox_imageSize|40x40px}}|alt=|link=]]}}{{#vardefine:ambox_content|{| class="metadata plainlinks"

|-

| class="mbox-image" |
{{#var:ambox_image}}

| class="mbox-text" |If your wiki code contains calls to templates, parser tags or parser functions, you have to encode them in {{#invoke:text|unstrip|<nowiki>your call here</nowiki>}}! |}

}}

Parameters

1
lang
The language used for color coding. Consult extension syntaxhighlight's documentation for a list of supported programming languages
2
code
The actual code displayed in the box. Warning: If your code contains an equal sign (=), you have to specify the parameter name as either code= or 2=, otherwise the display of text will be botched up.
3
scroll
optional If you don't want a horizontal slider for long text, set this to no
id
optional If you want rhe div containing your code having an id-attribute, pass it along with this parameter
line
optional If you want line numbering, set this to anything other than off
start
optional If you want your line numbering to start at anything else than 1, put this value here (works only in conjunction with line)
highlight
optional If you want line highlighted, list them here.
you can list values seperated by a comma or give a range or both: 1,4,9,11-13

Usage

{{code|bash|code=#!/bin/bash
mysql --defaults-file=/etc/mysql/debian.cnf}}

renders as

#!/bin/bash
mysql --defaults-file=/etc/mysql/debian.cnf


If you omit the paramater name (code=), thus writing

{{code|bash|#!/bin/bash
mysql --defaults-file=/etc/mysql/debian.cnf}}

your output will look like this:

sample text


a more complex example with parameters lang=lua|line=1|start=1|highlight=7,9:

local templateClass = require('Module:Template/class')
local classDebug = require('Module:Debug/class')

-- ****************************************************************
-- *                         inheritance                          *
-- ****************************************************************
local className = templateClass:subclass('Name')
-- setting class's configuration data
className.myConfiguration[tostring(className)] = mw.loadData('Module:Name/config')

-- ****************************************************************
-- *                          properties                          *
-- ****************************************************************

local _private = setmetatable({}, {__mode = 'k'})   -- weak table storing all private attributes


See also

  • {{code snippet}} for short code text in sentences
  • {{pre}} for a pre box with line wraps
  • {{pre2}} for a pre box with horizontal slider
  • <pre>...</pre>