Predefinição:Código
{{{1}}}
Uso
Envolve um pequeno trecho de texto em tags <syntaxhighlight> (consulte mw:Extension:SyntaxHighlight). Essa predefinição deve ser usada para amostras curtas; conteúdos mais longos devem usar <pre>...</pre> ou <syntaxhighlight>...</syntaxhighlight>.
Se o conteúdo incluir um sinal de igual (=), você deverá especificar o parâmetro explicitamente: {{código|1=int i = 0;}}.
A predefinição usa a tag <syntaxhighlight> com o atributo inline=1. Isso funciona como a combinação das tags <código> e <nowiki>, aplicadas ao wikitexto expandido. Por exemplo, {{código|algum '''texto''' wiki}} não renderizará a palavra "texto" em negrito, mas sim três aspas simples:
algum '''texto''' wiki
Se o exemplo acima for declarado como wikitexto (via {{código|algum '''texto''' wiki|lang=wikitext}}, o resultado será renderizado da seguinte forma:
algum '''texto''' wiki
No entanto, {{código|um {{exemplo}} de predefinição|lang=wikitext}} ainda invocará a predefinição:
um '''Exemplo''': <span style="color:gray;">"{{{1}}}"</span> de predefinição
Use <nowiki>...</nowiki> em volta da predefinição para evitar este problema:
um {{exemplo}} de predefinição
Quando usado em linha com texto normal, {{código}} geralmente tem melhor aparência e é mais fácil de ler quando está explicitamente separado do texto normal:
foo {{código|bar baz}} quux.
é bem espaçado:
- foo
bar bazquux.
versus:
foo {{código|bar baz}} quux.
que é menos claro visualmente:
- foo
bar bazquux.
porque "foo" e "bar" parecerão mais intimamente associados do que "bar" e "baz"; a largura do caractere de espaço em uma fonte monoespaçada é quase sempre maior do que em uma fonte proporcional.
Use o parâmetro {{{2}}} (não nomeado, como |2=, ou mais explicitamente como |lang=) para especificar um idioma para mw:Extension:SyntaxHighlight. O padrão dessa opção é |lang=text, ou seja, nenhum destaque. Os valores válidos incluem |lang=wikitext para wikitexto, |lang=html para HTML, juntamente com muitas outras linguagens, incluindo php, perl, css, javascript, mysql. A tentativa de usar um valor inválido para lang fará com que a página seja adicionada à Categoria:!Páginas com erros no destaque de sintaxe, e nenhum realce de sintaxe estará presente na saída. html4strict e html5 costumavam ser valores válidos — no entanto, |html= deve ser usado em seu lugar.
Esta predefinição não precisa ser substituída.
Exemplos
| Marcação | Renderiza como |
|---|---|
Lorem {{código|ipsum '''dolor'''}} sit amet
|
Lorem |
Lorem {{código|ipsum '''dolor'''|wikitext}} sit amet
|
Lorem |
A declaração {{código|lang=cpp |int foo(const std::string& bar, const std::vector<long double*>& baz);}} é o protótipo de uma função definida posteriormente.
|
A declaração |
Se o código possuir um [[sinal de igual]], como em {{código |lang=javascript |código=var img = document.getElementsByTagName("img");}}, você deve identificar o primeiro parâmetro explicitamente como {{{1}}} ou {{{código}}}; ver também [[:bugzilla:5138]].
|
Se o código possuir um sinal de igual, como em |
Predefinições incorporadas
As predefinições incorporadas não funcionam conforme o esperado dentro de {{código}}; para blocos de código mais longos e de forma livre, que podem conter predefinições como {{var}}, use <código>...</código> como um invólucro em vez dessa predefinição.
As predefinições usadas dentro de {{código}} expõem o HTML renderizado, o que pode ser útil. Por exemplo:
| Marcação | Renderiza como |
|---|---|
{{código|
{{citar web |título=Título |url=http://example.org}}
|lang=html
}}
|
|
O exemplo acima mostra o HTML renderizado pela predefinição de citação, incluindo os metadados ocultos.