Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

Template:CB: Difference between revisions

From VASP Wiki
Singraber (talk | contribs)
No edit summary
No edit summary
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
<br><code style="padding: {{{2|1em}}};">{{{1}}}</code><br><br><noinclude>
{{{2|}}}{| style="width:100%; table-layout: fixed; border-spacing: 0; padding: 0; margin: 0; background-color: var(--vCB-bg); color: var(--vdefault-text); border-width: 1px; border-style: solid; border-color: var(--vCB-border);"
|{{#tag:pre|{{{1}}}|style="margin: 0; padding: {{{3|1em}}}; background: none; border: none; white-space: pre; overflow-x: auto; font-family: monospace;"}}
|}<noinclude>


== Purpose ==
== Purpose ==
Create a code block which can be indented with the usual <code>:</code> indentation marker. Normally, a preformatted text block can be inserted with an additional space in the beginning, e.g.
Create a code block which can be indented with the usual <code>:</code> indentation marker. Normally, a preformatted text block can be inserted with an additional space in the beginning, e.g.


  <nowiki> MY_SPECIAL_TAG = A B C</nowiki>
  <nowiki> MY_SPECIAL_TAG = A B C
MY_OTHER_TAG  = 1</nowiki>


will print as:
will print as:


  MY_SPECIAL_TAG = A B C
  MY_SPECIAL_TAG = A B C
MY_OTHER_TAG  = 1


However, this syntax does not allow indenting, e.g., in lists. The <code>CB</code> (as in '''C'''ode '''B'''lock) template allows the box to be indented any level. {{NB|warning|Unfortunately, this currently works for single lines, multiple lines are unreadable.}}
However, this syntax does not allow indenting, e.g., in lists. The <code>CB</code> (as in '''C'''ode '''B'''lock) template allows the box to be indented any level.{{NB|warning|Currently, this template does not support nested templates, i.e., other templates like [[Template:TAG]] do not get properly expanded inside the code block.}}


== Parameters ==
== Parameters ==


  <nowiki> {{CB|<content>|<<padding>>}}</nowiki>
  <nowiki> {{CB|<content>|<<indent>>|<<padding>>}}</nowiki>


* <code>content</code>: The content of the code block.
* <code>content</code>: The content of the code block.
* <code>indent</code>: ('''optional''') Allows to indent the whole box with regular colon sign. Use multiple ":" signs to get any level of indentation. Can be left empty if no indentation is needed but <code>padding</code> is required. Any other character than ":" may produce unexpected results!
* <code>padding</code>: ('''optional''') Specifies the padding of the code box, the default is <code>1em</code>.
* <code>padding</code>: ('''optional''') Specifies the padding of the code box, the default is <code>1em</code>.


Line 23: Line 28:
Without optional arguments the following example
Without optional arguments the following example


  <nowiki>::{{CB|MY_SPECIAL_TAG {{=}} A B C}}</nowiki>
  <nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C}}</nowiki>


gives:
gives:


::{{CB|MY_SPECIAL_TAG {{=}} A B C}}
{{CB|MY_SPECIAL_TAG {{=}} A B C}}


Note that the box is correctly indented two levels. The padding can be reduced with the optional argument, e.g.:
This should be very close to the regular preformatted text boxes we can obtain via MediaWiki syntax. Here are two examples for indentation levels:


  <nowiki>::{{CB|MY_SPECIAL_TAG {{=}} A B C|0.5em}}</nowiki>
  <nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C|:}}</nowiki>
<nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C|::}}</nowiki>


results in:
results in:


::{{CB|MY_SPECIAL_TAG {{=}} A B C|0.5em}}
{{CB|MY_SPECIAL_TAG {{=}} A B C|:}}
{{CB|MY_SPECIAL_TAG {{=}} A B C|::}}
 
Note that the boxes are correctly indented one and two levels. The padding can be reduced with the optional argument, e.g.:
 
<nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C|:|0.5em}}</nowiki>
<nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C|::|0.5em}}</nowiki>
 
gives this:
 
{{CB|MY_SPECIAL_TAG {{=}} A B C|:|0.5em}}
{{CB|MY_SPECIAL_TAG {{=}} A B C|::|0.5em}}
 
Finally, the padding can also be specified without any indentation:
 
<nowiki>{{CB|MY_SPECIAL_TAG {{=}} A B C||0.5em}}</nowiki>
 
shows as:
 
{{CB|MY_SPECIAL_TAG {{=}} A B C||0.5em}}


== Problems and workarounds ==
== Problems and workarounds ==


The <code>content</code> cannot contain the "=" character because this has a special meaning for named template parameters. Therefore, we have to use the <code><nowiki>{{=}}</nowiki></code> template instead.
The <code>content</code> cannot contain the "=" or "|" character because this has a special meaning for named template parameters. Therefore, we have to use the <code><nowiki>{{=}}</nowiki></code> and <code><nowiki>{{!}}</nowiki></code> template, respectively.
</noinclude>
</noinclude>

Latest revision as of 13:12, 13 April 2026

{{{1}}}

Purpose

Create a code block which can be indented with the usual : indentation marker. Normally, a preformatted text block can be inserted with an additional space in the beginning, e.g.

 MY_SPECIAL_TAG = A B C
 MY_OTHER_TAG   = 1

will print as:

MY_SPECIAL_TAG = A B C
MY_OTHER_TAG   = 1

However, this syntax does not allow indenting, e.g., in lists. The CB (as in Code Block) template allows the box to be indented any level.

Parameters

 {{CB|<content>|<<indent>>|<<padding>>}}
  • content: The content of the code block.
  • indent: (optional) Allows to indent the whole box with regular colon sign. Use multiple ":" signs to get any level of indentation. Can be left empty if no indentation is needed but padding is required. Any other character than ":" may produce unexpected results!
  • padding: (optional) Specifies the padding of the code box, the default is 1em.

Examples

Without optional arguments the following example

{{CB|MY_SPECIAL_TAG {{=}} A B C}}

gives:

MY_SPECIAL_TAG = A B C

This should be very close to the regular preformatted text boxes we can obtain via MediaWiki syntax. Here are two examples for indentation levels:

{{CB|MY_SPECIAL_TAG {{=}} A B C|:}} 
{{CB|MY_SPECIAL_TAG {{=}} A B C|::}}

results in:

MY_SPECIAL_TAG = A B C
MY_SPECIAL_TAG = A B C

Note that the boxes are correctly indented one and two levels. The padding can be reduced with the optional argument, e.g.:

{{CB|MY_SPECIAL_TAG {{=}} A B C|:|0.5em}} 
{{CB|MY_SPECIAL_TAG {{=}} A B C|::|0.5em}}

gives this:

MY_SPECIAL_TAG = A B C
MY_SPECIAL_TAG = A B C

Finally, the padding can also be specified without any indentation:

{{CB|MY_SPECIAL_TAG {{=}} A B C||0.5em}} 

shows as:

MY_SPECIAL_TAG = A B C

Problems and workarounds

The content cannot contain the "=" or "|" character because this has a special meaning for named template parameters. Therefore, we have to use the {{=}} and {{!}} template, respectively.