Help:Contributing/code: Difference between revisions
Turn wikimarkup-in-code-tags into a gotcha; highlight You-type cells as wikisource (syntaxhighlight lang=wikitext where possible, pre fallback for nested syntaxhighlight) (via update-page on MediaWiki MCP Server) |
|||
| Line 4: | Line 4: | ||
{| class="wikitable" style="width:100%" | {| class="wikitable" style="width:100%" | ||
! What you want !! | ! What you want !! What you type !! What you get | ||
|- | |- | ||
| Plain block — exactly as typed, no wiki markup, HTML escaped. Safe for logs and config pastes. | | Plain block — exactly as typed, no wiki markup, HTML escaped. Safe for logs and config pastes. | ||
| Line 12: | Line 12: | ||
| Highlighted block — Pygments colours and a copy button. | | Highlighted block — Pygments colours and a copy button. | ||
| <pre><syntaxhighlight lang="sparql">SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight></pre> | | <pre><syntaxhighlight lang="sparql">SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight></pre> | ||
| <syntaxhighlight lang="sparql">SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight> | | <syntaxhighlight lang="sparql" copy>SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight> | ||
|- | |- | ||
| Plain inline code — monospace in a sentence, no colours. For short tokens with no markup-significant characters. | | Plain inline code — monospace in a sentence, no colours. For short tokens with no markup-significant characters. | ||
| Line 18: | Line 18: | ||
| <code>latestId</code> | | <code>latestId</code> | ||
|- | |- | ||
| | | For highlighted inline code — monospace in a sentence, with colours. | ||
| <pre><syntaxhighlight lang="python" inline>print("hello")</syntaxhighlight></pre> | | <pre><syntaxhighlight lang="python" inline>print("hello")</syntaxhighlight></pre> | ||
| <syntaxhighlight lang="python" inline>print("hello")</syntaxhighlight> | | <syntaxhighlight lang="python" inline>print("hello")</syntaxhighlight> | ||
| Line 26: | Line 26: | ||
<blockquote> | <blockquote> | ||
'''Don't wrap Wikimarkup content inside code tags''' — it | '''Don't wrap Wikimarkup content inside code tags''' — it will not be parsed. A link or template in a code tag renders as plain text: <syntaxhighlight lang="wikitext" inline>[[Special:AddCodeSnippet]]</syntaxhighlight> shows <syntaxhighlight lang="text" inline>[[Special:AddCodeSnippet]]</syntaxhighlight>, not a link. Write it as normal wikitext to get the link: [[Special:AddCodeSnippet|code-snippet items]]. | ||
</blockquote> | </blockquote> | ||
Revision as of 17:19, 19 August 2026
Code appears on this wikibase in two places: as content on wiki pages and as data (code-snippet items). This page covers the former.
Code blocks on wiki pages
| What you want | What you type | What you get |
|---|---|---|
| Plain block — exactly as typed, no wiki markup, HTML escaped. Safe for logs and config pastes. | <pre>[2026-08-19 14:32:01] wikibase.updater: entity Q42 updated</pre>
|
[2026-08-19 14:32:01] wikibase.updater: entity Q42 updated |
| Highlighted block — Pygments colours and a copy button. | <syntaxhighlight lang="sparql">SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight>
|
SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5
|
| Plain inline code — monospace in a sentence, no colours. For short tokens with no markup-significant characters. | <code>latestId</code>
|
latestId
|
| For highlighted inline code — monospace in a sentence, with colours. | <syntaxhighlight lang="python" inline>print("hello")</syntaxhighlight>
|
print("hello")
|
Anything inside <syntaxhighlight> or <pre> is rendered literally — wiki markup and HTML are not interpreted.
Don't wrap Wikimarkup content inside code tags — it will not be parsed. A link or template in a code tag renders as plain text:
[[Special:AddCodeSnippet]]shows[[Special:AddCodeSnippet]], not a link. Write it as normal wikitext to get the link: code-snippet items.
Be careful with
<code>: it does not escape HTML — text such as <, > or & inside it is read as markup. Use it for short plain tokens without those characters (#,quarto render,latestId); it is lighter to render. Use<syntaxhighlight lang="…" inline>when the snippet contains <, > or & (it escapes content) or when you want colours. Never use<code>for blocks —<pre>or<syntaxhighlight>instead.
Which languages can be highlighted
Any Pygments lexer alias works as the lang attribute — use the lowercase canonical name:
sparql— SPARQL queries (this wiki's query service)python,javascript,bash,sql,json,wikitext— commonly used- Full list: Pygments lexers (use the alias column)
Options for highlighted blocks
| Option | You type | You get |
|---|---|---|
line — show line numbers
|
<syntaxhighlight lang="sparql" line>SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}</syntaxhighlight>
|
SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}
|
start="5" — first line number (with line)
|
<syntaxhighlight lang="sparql" line start="5">SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}</syntaxhighlight>
|
SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}
|
highlight="1,3" — highlight specific lines (comma-separated)
|
<syntaxhighlight lang="sparql" highlight="1,3">SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}</syntaxhighlight>
|
SELECT ?item WHERE {
?item wdt:P1 wd:Q6 .
}
|
inline — render as inline code instead of a block
|
<syntaxhighlight lang="sparql" inline>LIMIT</syntaxhighlight> |
LIMIT
|
copy — add a button that copies the block
|
<syntaxhighlight lang="sparql" copy>SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5</syntaxhighlight>
|
SELECT ?item WHERE { ?item wdt:P1 wd:Q6 } LIMIT 5
|
inlineandcopyare mutually exclusive.
Full parameter reference: SyntaxHighlight extension parameters (official).
Differences from Markdown
- No fenced blocks —
```does nothing here. Use<pre>or<syntaxhighlight>.
House rules
- Prefer
<syntaxhighlight lang="…">for anything syntax-highlightable;<pre>for config dumps and logs where colours add noise. - Blocks larger than 100 kB lose highlighting automatically (a safety guard).
See also
- MediaWiki syntax 101 (official)
- SyntaxHighlight extension (official)
- Pygments lexers — full language list
- Help:Contributing — contributing to this wiki