Discourse publicar código ou texto formatado

:bookmark: O artigo fornece instruções sobre como usar Markdown, BBCode e HTML para postar texto formatado no Discourse.

:person_raising_hand: Nível de usuário necessário: Todos os usuários podem usar

:link: Link original oficial: Posting code or preformatted text

Quando você tem código que deseja compartilhar no Discourse, ou quando precisa postar logs de erro no Discourse. Se não formatarmos o código, será muito difícil ler esse conteúdo, e muitos códigos contêm espaços e outros caracteres, que perderão seu significado original durante a conversão do conteúdo.

Resumo

Neste guia, você aprenderá:

  • Como formatar código inline.
  • Como formatar código de linha única.
  • Como formatar código de várias linhas.
  • Como usar BBCode e HTML para formatação de código.
  • Como desativar a formatação automática de código.

Formatação de Código Inline

Para formatar código inline ou texto especial, use aspas simples antes e depois do conteúdo que precisa ser formatado.

Isso pode estar em um texto, ou o código pode estar em outra linha.

A formatação de código inline não aplicará nenhuma formatação ao código a ser formatado (veja o exemplo abaixo), apenas usará o estilo de código (“code style”) para o código a ser formatado.

Exemplo 1:

Entrada:

This is a line of code

Saída:

This is a line of code

Exemplo 2:

Entrada:

Here’s some text with a bit of code inside!

Saída:

Here’s some text with a bit of code inside!

Formatação de Código de Linha Única

Se você precisar formatar o código em uma linha, basta adicionar 4 espaços antes da linha de código.

Todo o conteúdo em uma única linha será formatado como código até o início da próxima linha.

Exemplo:

Entrada:

    All text after 4 spaces will be formatted.

Saída:

All text after 4 spaces will be formatted.

Formatação de Código de Várias Linhas

Para código de várias linhas, se você ainda usar a formatação de código de linha única, todo o processo parecerá muito complicado.

Especialmente porque muitos códigos usam espaços para indentação.

O uso da formatação de código com espaços de linha única afetará a indentação de todo o bloco de código.

Nesse momento, você pode usar 3 aspas simples (backticks (```)) como início do código, e essas 3 aspas simples precisam estar em uma linha separada.

Além disso, não pode haver espaços antes dessas 3 aspas simples; se houver espaços, todo o bloco de código pode não ser formatado.

Exemplo:

Entrada:

``` 
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}
```

Saída:

public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}

BBCode e HTML

Além da formatação Markdown, o Discourse também suporta BBCode e HTML.

Para HTML, use as tags <pre> e <code>:

<pre><code>
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}
</code></pre>

Para BBCode, use a tag [code]:

[code]
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}
[/code]

Para Linguagens de Programação Específicas

Por padrão, o Discourse detecta automaticamente a linguagem usada com base no formato de sua entrada.

Claro, você também pode especificar manualmente a linguagem para o bloco de código, digitando a linguagem que deseja formatar após as 3 aspas simples.

``` your_language
# Your code here

Exemplo:

Para a linguagem Ruby:

Entrada:

``` ruby
3.times do |stuff|
    stuff.do
end
```

Saída:

3.times do |stuff|
    stuff.do
end

As linguagens suportadas devem ser as linguagens que suportam realce de sintaxe abaixo.

A lista de linguagens suportadas pode ser acessada na página no GitHub.

Claro, você pode usar a configuração default code lang para configurar a linguagem padrão.

Sem Realce de Sintaxe

Se você não quiser que o texto de entrada ou o bloco de código usem qualquer realce de sintaxe, use text em vez de selecionar a linguagem.

Exemplo:

Entrada:

``` text
Your text to NOT highlight here

Saída:

Your text to NOT highlight here

Melhores Práticas

  • Para código inline, sempre use aspas simples para envolver o texto que você deseja formatar.
  • Se você quiser compartilhar várias linhas de código, formate o código.
  • Para texto e logs, evite usar o estilo de código automático, pois esses textos são em sua maioria texto puro, e o formato de texto deve ser usado entre eles.
  • Quando descobrir que o estilo automático não reconheceu o código corretamente, lembre-se de especificar a linguagem correta para o seu código.
2 curtidas