Template:Code: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
Use this template when you want to display a block of code. | Use this template when you want to display a block of code. | ||
This template should not be used to contain verbatim macro code in the [[Macros_recipes|Macros recipes]] pages. Macro code must be plain, free of any syntax highlight. For this, use [[:Template:MacroCode]]. | |||
This template essentially creates a block of text surrounded by wiki <code><sintaxhighlight> ... </sintaxhighlight></code> tags, which are converted into appropriate <code><span> ... </span></code> tags with the right color. See the full documentation in [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight Extension:SyntaxHighlight]. | This template essentially creates a block of text surrounded by wiki <code><sintaxhighlight> ... </sintaxhighlight></code> tags, which are converted into appropriate <code><span> ... </span></code> tags with the right color. See the full documentation in [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight Extension:SyntaxHighlight]. | ||
Line 24: | Line 26: | ||
---- | ---- | ||
Example: | Example 1: | ||
<nowiki> | |||
{{Code|code= | |||
import LabRPS | |||
import Part | |||
Line = Part.makeLine(LabRPS.Vector(0,0,0), LabRPS.Vector(2,0,0)) | |||
}}</nowiki> | |||
Result: | |||
{{Code|code= | |||
import LabRPS | |||
import Part | |||
Line = Part.makeLine(LabRPS.Vector(0,0,0), LabRPS.Vector(2,0,0)) | |||
}} | |||
Example 2: | |||
<nowiki> | <nowiki> | ||
{{Code|lang=cpp|code= | {{Code|lang=cpp|code= | ||
DEF_STD_CMD_A( | DEF_STD_CMD_A(StdCmdMyCommand); | ||
StdCmdMyCommand::StdCmdMyCommand() | |||
: | : Command("Std_My_Command") | ||
{ | { | ||
sMenuText = QT_TR_NOOP("My Command"); | |||
sToolTipText = QT_TR_NOOP("Runs my command in the active document"); | |||
sWhatsThis = "Std_MyCommand"; | |||
sPixmap = "MyCommand.svg"; | |||
} | } | ||
}}</nowiki> | }}</nowiki> | ||
Line 40: | Line 62: | ||
{{Code|lang=cpp|code= | {{Code|lang=cpp|code= | ||
DEF_STD_CMD_A( | DEF_STD_CMD_A(StdCmdMyCommand); | ||
StdCmdMyCommand::StdCmdMyCommand() | |||
: | : Command("Std_My_Command") | ||
{ | { | ||
sMenuText = QT_TR_NOOP("My Command"); | |||
sToolTipText = QT_TR_NOOP("Runs my command in the active document"); | |||
sWhatsThis = "Std_MyCommand"; | |||
sPixmap = "MyCommand.svg"; | |||
} | } | ||
}} | }} | ||
Line 62: | Line 87: | ||
---- | ---- | ||
Using the Equals sign '=' within this template will result in a broken output. | Using the Equals sign '=' within this template will result in a broken output. | ||
Line 81: | Line 106: | ||
{{Code|code= | {{Code|code= | ||
a = {{"A"}, "B"} | a = {{"A"}, "B"} | ||
if a: | if a: | ||
Q = Qt.Ok | Qt.Cancel | Q = Qt.Ok <nowiki>|</nowiki> Qt.Cancel | ||
}} | }} | ||
Line 93: | Line 118: | ||
<nowiki><pre> | <nowiki><pre> | ||
a = "A" | a = {{"A"}, "B"} | ||
if | if a: | ||
Q = Qt.Ok | Qt.Cancel | |||
</pre></nowiki> | </pre></nowiki> | ||
Line 101: | Line 126: | ||
<pre> | <pre> | ||
a = "A" | a = {{"A"}, "B"} | ||
if | if a: | ||
Q = Qt.Ok | Qt.Cancel | |||
</pre> | </pre> | ||
Latest revision as of 12:18, 21 June 2024
{{{1}}}
Use this template when you want to display a block of code.
This template should not be used to contain verbatim macro code in the Macros recipes pages. Macro code must be plain, free of any syntax highlight. For this, use Template:MacroCode.
This template essentially creates a block of text surrounded by wiki <sintaxhighlight> ... </sintaxhighlight>
tags, which are converted into appropriate <span> ... </span>
tags with the right color. See the full documentation in Extension:SyntaxHighlight.
Since content that includes an equals sign (=
) is interpreted as a variable, you must specify the code=
parameter explicitly to avoid issues.
The parameter lang=
controls the coloration, depending on the programming language. The default option is lang=python
.
lang=cpp
lang=xml
lang=java
lang=bash
Many more options are be supported.
Example 1:
{{Code|code= import LabRPS import Part Line = Part.makeLine(LabRPS.Vector(0,0,0), LabRPS.Vector(2,0,0)) }}
Result:
import LabRPS import Part Line = Part.makeLine(LabRPS.Vector(0,0,0), LabRPS.Vector(2,0,0))
Example 2:
{{Code|lang=cpp|code= DEF_STD_CMD_A(StdCmdMyCommand); StdCmdMyCommand::StdCmdMyCommand() : Command("Std_My_Command") { sMenuText = QT_TR_NOOP("My Command"); sToolTipText = QT_TR_NOOP("Runs my command in the active document"); sWhatsThis = "Std_MyCommand"; sPixmap = "MyCommand.svg"; } }}
Result:
DEF_STD_CMD_A(StdCmdMyCommand); StdCmdMyCommand::StdCmdMyCommand() : Command("Std_My_Command") { sMenuText = QT_TR_NOOP("My Command"); sToolTipText = QT_TR_NOOP("Runs my command in the active document"); sWhatsThis = "Std_MyCommand"; sPixmap = "MyCommand.svg"; }
Inside the code, neither the double nor the triple braces {{ }}
, nor the vertical bar |
are allowed because these are interpreted in special ways by the wiki software.
{{Code|code= a = {{"A"}, "B"} if a: Q = Qt.Ok | Qt.Cancel }}
Using the Equals sign '=' within this template will result in a broken output.
The <nowiki> ... </nowiki>
tags can be added explicitly to allow displaying these special symbols.
{{Code|code= <nowiki> a = {{"A"}, "B"} if a: Q = Qt.Ok | Qt.Cancel </nowiki> }}
Result:
{{Code|code=
a = {{"A"}, "B"} if a:
Q = Qt.Ok | Qt.Cancel
}}
We can also display all symbols by using explicit <pre> ... </pre>
tags. In this case, no syntax highlighting will exist, but the code will be displayed with all symbols intact.
<pre> a = {{"A"}, "B"} if a: Q = Qt.Ok | Qt.Cancel </pre>
Result:
a = {{"A"}, "B"} if a: Q = Qt.Ok | Qt.Cancel