Vorlage:Code/doc: Unterschied zwischen den Versionen

ZIM HilfeWiki - das Wiki
 
imported>Oetterer
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Documentation subpage}}
 
{{Documentation subpage}}
 +
{{lua|Module:Code}}
 
<!-- Categories go at the bottom of this page. -->
 
<!-- Categories go at the bottom of this page. -->
 
== Description ==
 
== Description ==
This is a combination of the templates {{tl|code}} and {{tl|pre2}}. It allows for code coloring depending on programming language conventions (like {{tl|code}}) and inherits {{tl|pre2}}'s ability for creating a horizontal slider if necessary (and requested).
+
This is a combination of the parser function {{tag|syntaxhighlight}} and the template {{tl|pre2}}. It allows for code coloring depending on programming language conventions (like {{tag|syntaxhighlight}}) and inherits {{tl|pre2}}'s ability for creating a horizontal slider if necessary (and requested). Also: It adds buttons to copy ''code'' into the clipboard.
 +
 
 +
{{ambox|type=info|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.}}
 +
 
 +
 
 +
{{ambox|type=delete|text=If your wiki code contains calls to ''templates'', ''parser tags'' or ''parser functions'', you have to encode them in {{tli|text|''unstrip''|&lt;nowiki&gt;'''your call here'''&lt;/nowiki&gt;}}!}}
  
 
== Parameters ==
 
== Parameters ==
Zeile 11: Zeile 17:
 
;code
 
;code
 
:The actual code displayed in the box. '''{{colors|darkred||Warning: }}''' If your code contains an equal sign (=), you have to specify the parameter name as either {{code snippet|code{{=}}}} or {{code snippet|2{{=}}}}, otherwise the display of text will be botched up.
 
:The actual code displayed in the box. '''{{colors|darkred||Warning: }}''' If your code contains an equal sign (=), you have to specify the parameter name as either {{code snippet|code{{=}}}} or {{code snippet|2{{=}}}}, otherwise the display of text will be botched up.
;3
+
;line
:''optional'' If you don't want a horizontal slider for long text, set this to {{code snippet|no}}
+
:''optional'' The line attribute enables line numbers.
 +
;start
 +
:''optional'' The start attribute (in combination with ''line'') defines the first line number of the code block.
 +
;highlight
 +
:''optional'' The highlight attribute specifies one or more lines that should be marked (by highlighting those lines with a different background color).
 +
:you can list values seperated by a comma or give a range or both: 1,4,9,11-13
 +
;inline
 +
:''optional'' The attribute indicates that the source code should be inline as part of a paragraph (as opposed to being its own block).
 +
;class
 +
:''optional'' The css class to use. When inline is used, class="nowrap" (on those wikis that support it; not on MediaWiki itself) specifies that line breaks should not occur at spaces within the code block.
 +
;style
 +
:''optional'' CSS styles to add
 +
 
 +
 
  
 
== Usage ==
 
== Usage ==
Zeile 32: Zeile 51:
 
{{code|bash|#!/bin/bash
 
{{code|bash|#!/bin/bash
 
mysql --defaults-file=/etc/mysql/debian.cnf}}
 
mysql --defaults-file=/etc/mysql/debian.cnf}}
 +
 +
a more complex example with parameters <code>lang=lua|line=1|start=1|highlight=7,9</code>:
 +
 +
{{code|lang=lua|line=1|start=1|highlight=7,9|code=
 +
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 ==
 
== See also ==

Aktuelle Version vom 11. Oktober 2022, 10:53 Uhr

Description[Quelltext bearbeiten]

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.


Parameters[Quelltext bearbeiten]

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 sample text or sample text, otherwise the display of text will be botched up.
line
optional The line attribute enables line numbers.
start
optional The start attribute (in combination with line) defines the first line number of the code block.
highlight
optional The highlight attribute specifies one or more lines that should be marked (by highlighting those lines with a different background color).
you can list values seperated by a comma or give a range or both: 1,4,9,11-13
inline
optional The attribute indicates that the source code should be inline as part of a paragraph (as opposed to being its own block).
class
optional The css class to use. When inline is used, class="nowrap" (on those wikis that support it; not on MediaWiki itself) specifies that line breaks should not occur at spaces within the code block.
style
optional CSS styles to add


Usage[Quelltext bearbeiten]

{{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[Quelltext bearbeiten]

  • {{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>


Cookies helfen uns bei der Bereitstellung des ZIM HilfeWikis. Bei der Nutzung vom ZIM HilfeWiki werden die in der Datenschutzerklärung beschriebenen Cookies gespeichert.