Template:Markup/doc View history

m (Added category)
(Updated documentation)
 
Line 1: Line 1:
{{doc subpage}}
{{Documentation subpage}}
<!-- ADD DOCUMENTATION BELOW THIS LINE -->
<!-- Categories where indicated at the bottom of this page, please. -->
This template is used to present markup or code side by side with the rendered output.
{{TOC right |limit=2}}


Parameters:
This template is used to present markup or code side by side with the output it renders.
* unnamed 1: Content of row 1, column 1
* unnamed 2: Content of row 1, column 2
:through
* unnamed 39: Content of row 20, column 1
* unnamed 40: Content of row 20, column 2


* '''t1''': Title of column one; defaults to ''Markup''
==Usage==
* '''t2''': Title of column two; defaults to ''Renders as''
Each pair of {{tl|Markup}}'s arguments should be two copies of some [[wikitext]] markup, with the first of the pair enclosed in {{xtag|nowiki}} tags. The template produces output in two columns, the first showing the markup and the second showing how it is rendered. The template accepts up to 40 unnamed parameters, resulting in up to 20 rows of examples.
* '''title''': Title of table; defaults to none
* '''notitle''': When set, suppresses table and column titles
* '''margin''': set table left margin in em


<!--The ''Markup'' cell is pre-formatted with {{tag|pre|o}} to retain newlines and spaces, but styled to allow content to wrap within the cell. It is usually desirable to escape the content of the ''Markup'' cell so that the markup is displayed by wrapping the markup in {{xtag|nowiki}}. It is technically not possible to add this feature to the template.
This:
<pre>
{{markup|&lt;nowiki>'''Bold text'''&lt;/nowiki>|'''Bold text'''}}
</pre>


In the ''Renders as'' cell, the content is usually the unescaped markup copied from the ''Markup'' cell. There are instances where this may differ:
Produces this:
* If the first line includes wikimarkup that must start on a new line such as #, *  or ; then use {{tl|crlf2}} before the first line; see the template for examples.
{{markup|<nowiki>'''Bold text'''</nowiki>|'''Bold text'''}}
* Header markup such as {{code|1===}} will show in the page table of contents; use {{tlx|fake heading}}.
* When using {{tlx|reflist}} with no other parameters, use {{tlx|reflist|close}} to ensure that the reference list is closed.
* Some templates will place the page in a maintenance category, which is usually undesired:
** Instead of {{tlx|fact}} use {{tlx|fake fact}}.
** Instead of {{tlx|citation needed}}, use {{tlx|fake citation needed}}.
* Some template may have error checking that places the page in a maintenance category. Suppress the category as possible:
** {{cs1}} templates can suppress the maintenance category by setting {{para|template doc demo|true}}.
-->


==Limitations==
In many cases, the markup for both columns are identical, but there are instances where this may need to differ. If none of these issues apply, then you may use {{tlx|mra}} to save yourself from copying the code twice.
If you don't wrap the content of the markup cell in <nowiki><nowiki></nowiki>, then any template markup will not be escaped, it will be expanded.
* Header markup such as {{code|1===}} will show in the page table of contents; to avoid this, use {{tlx|fake heading}} in the markup for the second column (see example [[#A complex example|below]]).
* Some templates will place the page in a maintenance category, which is usually undesired. For example.
** Instead of {{tlx|citation needed}}, use {{tlx|fake citation needed}} in the second column.
* Some templates may have error checking that places the page in a maintenance category.
** <s>{{cs1}} templates with errors: add {{para|template doc demo|true}} to the template in the second column.</s>
** To avoid this and the associated red error messages make sure that each example on the page uses different sources.
* HTML entities are parsed in the first cell, even with {{xtag|nowiki}} tags. To work around this, replace the <code>&</code> with <code>&amp;amp;</code> in the first column (see example [[#With HTML entities|below]]).


This example shows the markup for <nowiki>{{tl|tag}}</nowiki>:
It is advisable to begin both copies of the markup with a [[newline]]; this is necessary if the first line of the markup must start on a new line (such as #, *  or ;).
 
{{markup|t1=Renders as|t2=Expected rendering
|{{tl|tag}}
|<nowiki>{{tl|tag}}</nowiki>
}}
 
HTML entities are parsed in the markup cell
{{markup|t1=Mowikied markup shows as |t2=Expected markup
|<nowiki>&nbsp;&ndash;</nowiki>
|&amp;nbsp;&amp;ndash;
}}
 
To work around this, replace the <code>&</code> with <code>&amp;amp;</code> thus <code>&amp;amp;nbsp;</code> will show as <code>&amp;nbsp;</code>


==Examples==
==Examples==


'''Simple examples:'''
===Multiple rows===
{{markup
{{markup
|<nowiki>'''Bold text'''</nowiki>|'''Bold text'''
|<nowiki>'''Bold text'''</nowiki>|'''Bold text'''
|<nowiki>''Italic text''</nowiki>|''Italic text''
|<nowiki>''Italic text''</nowiki>|''Italic text''
|<nowiki><strike>Struck text</strike></nowiki>|<strike>Struck text</strike>
|<nowiki>[[Internal link]]</nowiki>|[[Internal link]]
|<nowiki>
{{cite book|ref=none|last=Smith|year=2021|title=Smith's book}}
</nowiki>|
{{cite book|ref=none|last=Smith|year=2021|title=Smith's book}}
|<nowiki>
<score>\relative c' { c( b~ c b c b c b c~ c)}</score>
</nowiki>|
<score>\relative c' { c( b~ c b c b c b c~ c)}</score>
}}
 
===With custom title and column headers===
{{Markup
| title=How to write about foxes and dogs in Wikipedia.
|t1=Write this in wikitext|t2=and this will appear in the article.
| The quick brown [[fox]] jumps over the lazy [[dog]]. | The quick brown [[fox]] jumps over the lazy [[dog]].
}}
}}


<!-- '''Complex example:'''
===A complex example===
Note that the second argument to {{tl2|markup}} uses {{tl2|fake heading}} and {{tl2|fake fact}}.
 
{{markup
In this example, {{tl2|Markup}}'s second argument here uses {{tl2|fake heading}} (to avoid headings appearing in the table of contents) and {{tl2|fake citation needed}} (to avoid adding this page to the maintenance list).
|<nowiki>The quick brown fox jumps over the lazy dog.{{#tag:ref|A footnote.<ref>A reference for the footnote.</ref>|group=nb}} The cow jumped over the moon.{{fact}}
 
{{Markup
| <nowiki>The quick brown fox jumps over the lazy dog.{{#tag:ref|A footnote.<ref>A reference for the footnote.</ref>|group=nb}} The cow jumped over the moon.{{fact}}


==Notes==
== Notes ==
{{Reflist|group=nb}}
{{reflist|group=nb}}


==References==
== References ==
{{Reflist}}
{{reflist}}
</nowiki>
</nowiki>
|The quick brown fox jumps over the lazy dog.{{#tag:ref|A footnote.<ref>A reference for the footnote.</ref>|group=nb}} The cow jumped over the moon.{{fake fact}}
| The quick brown fox jumps over the lazy dog.{{#tag:ref|A footnote.<ref>A reference for the footnote.</ref>|group=nb}} The cow jumped over the moon.{{fake citation needed}}


{{fake heading|sub=3|Notes}}
{{fake heading|sub=2|Notes}}
{{Reflist|group=nb}}
{{reflist|group=nb}}


{{fake heading|sub=3|References}}
{{fake heading|sub=2|References}}
{{Reflist|close}}  
{{reflist|close}}
}}-->
}}


'''Multiple rows:'''
===With HTML entities===
{{markup
HTML entities are parsed in the markup cell. To work around this, replace the <code>&</code> with <code>&amp;amp;</code> in the first column.
|The quick brown fox jumps over the lazy dog.
 
|The quick brown fox jumps over the lazy dog.
{{Markup| <nowiki>&amp;ndash;</nowiki> | &ndash;}}
|The quick brown fox jumps over the lazy dog.
 
|The quick brown fox jumps over the lazy dog.
===More examples===
|The quick brown fox jumps over the lazy dog.
 
|The quick brown fox jumps over the lazy dog.
{{Markup|<nowiki>
|The quick brown fox jumps over the lazy dog.
{{cite book |last=White |first=T. H. |title=The Book of Merlyn |year=1977}}
|The quick brown fox jumps over the lazy dog.
</nowiki>|  
|The quick brown fox jumps over the lazy dog.
{{cite book |last=White |first=T. H. |title=The Book of Merlyn |year=1977}}
|The quick brown fox jumps over the lazy dog.
|<nowiki>
{{code|lang=html|{{cite book |last=White |first=T. H. |title=The Book of Merlyn |year=1977}}}}
</nowiki>|  
{{code|lang=html|{{cite book |last=White |first=T. H. |title=The Book of Merlyn |year=1977}}}}
}}
}}


'''With title:'''
==Typing aid: template {{tl|mra}}==
{{markup|title=Foxes and dogs
{{tl|mra}} will duplicate the source text automatically, saving you the trouble of copying the text and adding {{xtag|nowiki}} tags to the first case.
|The quick brown fox jumps over the lazy dog.
 
|The quick brown fox jumps over the lazy dog.
This:
}}
<pre>{{subst:mra|'''Bold text'''|''Italic text''}}</pre>
 
Will produce this:
<pre>{{markup|
&lt;nowiki>'''Bold text'''</nowiki>|'''Bold text'''|
&lt;nowiki>''Italic text''</nowiki>|''Italic text''}}</pre>
 
Which renders as:
{{markup|
<nowiki>'''Bold text'''</nowiki>|'''Bold text'''|
<nowiki>''Italic text''</nowiki>|''Italic text''}}


==See also==
==See also==
* {{tl|Markup2}} for bulleted and indented markup.
* {{tl|Markupv}} for the vertical presentation (above/below) of markup/code and its output.
* {{tl|Automarkup}} does not require to write the code samples twice.
== TemplateData ==
{{TemplateData header}}
<templatedata>
{
"description": " ",
"paramOrder": [
"margin-left",
"width",
"style",
"noheaders",
"title",
"colheaderstyle",
"col1headerstyle",
"col1",
"col2headerstyle",
"col2",
"codestyle",
"outputstyle",
"1",
"2",
"3",
"4",
"39",
"40"
],
"params": {
"1": {
"description": "row 1, first column (markup/code)'s content.",
"type": "string"
},
"2": {
"description": "row 1, second column (output)'s content.",
"type": "string"
},
"3": {
"description": "row 2, first column's content (etc).",
"type": "string"
},
"4": {
"description": "row 2, second column's content (etc).",
"type": "string"
},
"39": {
"description": "First column's content in last possible row.",
"type": "string"
},
"40": {
"description": "Second column's content in last possible row.",
"type": "string"
},
"width": {
"description": "To set the table's overall width.",
"type": "string",
"default": "auto"
},
"margin-left": {
"description": "To set a margin on the table's lefthand side.",
"type": "string",
"default": "0"
},
"style": {
"description": "For CSS styles amending the table's overall appearance.",
"type": "string"
},
"title": {
"description": "Title above table.",
"type": "string"
},
"noheaders": {
"description": "Set (as e.g. noheaders=on) to suppress the columns' headings and table's title.",
"type": "string"
},
"col1": {
"description": "First column (markup/code)'s heading.",
"type": "string",
"default": "\"Markup\""
},
"col2": {
"description": "Second column (output)'s heading.",
"type": "string",
"default": "\"Renders as\""
},
"codestyle": {
"description": "Use CSS style code to change the look of content in the Markup column.",
"type": "string",
"aliases": [
"markupstyle"
],
"label": "Column 1 style",
"example": "white-space: nowrap"
},
"outputstyle": {
"description": "Use CSS style code to change the look of content in the Renders-as column.",
"type": "string",
"label": "Column 2 style"
},
"col1headerstyle": {
"description": "For CSS styling to amend the appearance of the first column's heading. Overrides (but does not replace) colheaderstyle.",
"type": "string"
},
"col2headerstyle": {
"description": "For CSS styling to amend the appearance of the second column's heading. Overrides (but does not replace) colheaderstyle.",
"type": "string"
},
"colheaderstyle": {
"description": "For CSS styling to amend the appearance of each column's heading.",
"type": "string"
}
}
}
</templatedata>


<includeonly>
<includeonly>

Latest revision as of 02:32, 17 August 2022

This is a documentation subpage for Template:Markup.
It contains usage information, categories and other content that is not part of the original template page.

This template is used to present markup or code side by side with the output it renders.

Usage

Each pair of {{Markup}}'s arguments should be two copies of some wikitext markup, with the first of the pair enclosed in Template:Xtag tags. The template produces output in two columns, the first showing the markup and the second showing how it is rendered. The template accepts up to 40 unnamed parameters, resulting in up to 20 rows of examples.

This:

{{markup|<nowiki>'''Bold text'''</nowiki>|'''Bold text'''}}

Produces this:

Markup Renders asTemplate:For loop

In many cases, the markup for both columns are identical, but there are instances where this may need to differ. If none of these issues apply, then you may use {{mra}} to save yourself from copying the code twice.

  • Header markup such as == will show in the page table of contents; to avoid this, use {{fake heading}} in the markup for the second column (see example below).
  • Some templates will place the page in a maintenance category, which is usually undesired. For example.
  • Some templates may have error checking that places the page in a maintenance category.
    • Template:Cs1 templates with errors: add |template doc demo=true to the template in the second column.
    • To avoid this and the associated red error messages make sure that each example on the page uses different sources.
  • HTML entities are parsed in the first cell, even with Template:Xtag tags. To work around this, replace the & with &amp; in the first column (see example below).

It is advisable to begin both copies of the markup with a newline; this is necessary if the first line of the markup must start on a new line (such as #, * or ;).

Examples

Multiple rows

Markup Renders asTemplate:For loop

With custom title and column headers

How to write about foxes and dogs in Wikipedia.
Write this in wikitext and this will appear in the article.Template:For loop

A complex example

In this example, Template:Tl2's second argument here uses Template:Tl2 (to avoid headings appearing in the table of contents) and Template:Tl2 (to avoid adding this page to the maintenance list).

Markup Renders asTemplate:For loop

With HTML entities

HTML entities are parsed in the markup cell. To work around this, replace the & with &amp; in the first column.

Markup Renders asTemplate:For loop

More examples

Markup Renders asTemplate:For loop

Typing aid: template {{mra}}

{{mra}} will duplicate the source text automatically, saving you the trouble of copying the text and adding Template:Xtag tags to the first case.

This:

{{subst:mra|'''Bold text'''|''Italic text''}}

Will produce this:

{{markup|
<nowiki>'''Bold text'''</nowiki>|'''Bold text'''|
<nowiki>''Italic text''</nowiki>|''Italic text''}}

Which renders as:

Markup Renders asTemplate:For loop

See also

  • {{Markup2}} for bulleted and indented markup.
  • {{Markupv}} for the vertical presentation (above/below) of markup/code and its output.
  • {{Automarkup}} does not require to write the code samples twice.

TemplateData

Template:TemplateData header

Template parameters

ParameterDescriptionTypeStatus
margin-leftmargin-left

To set a margin on the table's lefthand side.

Default
0
Stringoptional
widthwidth

To set the table's overall width.

Default
auto
Stringoptional
stylestyle

For CSS styles amending the table's overall appearance.

Stringoptional
noheadersnoheaders

Set (as e.g. noheaders=on) to suppress the columns' headings and table's title.

Stringoptional
titletitle

Title above table.

Stringoptional
colheaderstylecolheaderstyle

For CSS styling to amend the appearance of each column's heading.

Stringoptional
col1headerstylecol1headerstyle

For CSS styling to amend the appearance of the first column's heading. Overrides (but does not replace) colheaderstyle.

Stringoptional
col1col1

First column (markup/code)'s heading.

Default
"Markup"
Stringoptional
col2headerstylecol2headerstyle

For CSS styling to amend the appearance of the second column's heading. Overrides (but does not replace) colheaderstyle.

Stringoptional
col2col2

Second column (output)'s heading.

Default
"Renders as"
Stringoptional
Column 1 stylecodestyle markupstyle

Use CSS style code to change the look of content in the Markup column.

Example
white-space: nowrap
Stringoptional
Column 2 styleoutputstyle

Use CSS style code to change the look of content in the Renders-as column.

Stringoptional
11

row 1, first column (markup/code)'s content.

Stringoptional
22

row 1, second column (output)'s content.

Stringoptional
33

row 2, first column's content (etc).

Stringoptional
44

row 2, second column's content (etc).

Stringoptional
3939

First column's content in last possible row.

Stringoptional
4040

Second column's content in last possible row.

Stringoptional