Template:Code

From LabRPS Documentation
Revision as of 08:43, 12 August 2022 by LabRPS (talk | contribs)
Jump to navigation Jump to search
{{{1}}}

Use this template when you want to display a block of code.

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:

{{Code|lang=cpp|code=
DEF_STD_CMD_A(WindSimulationMethod);

WindSimulationMethod::WindSimulationMethod()
  : methodName("Deodatis et al")
{
    computationTime = 0;
}
}}

Result:

DEF_STD_CMD_A(WindSimulationMethod);

WindSimulationMethod::WindSimulationMethod()
  : methodName("Deodatis et al")
{
    computationTime = 0;
}

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. Use the https://wiki.freecadweb.org/Template:= to circumvent this



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:

'"`UNIQ--nowiki-00000005-QINU`"'

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";
if (b)
    {Q = Qt.Ok | Qt.Cancel;}
</pre>

Result:

a = "A";
if (b)
    {Q = Qt.Ok | Qt.Cancel;}