Escrevendo documentação eficaz para Discourse

:information_source: A documentação do Discourse está sendo revisada e editada para alinhar-se a este guia de estilo. Nem todos os tópicos da documentação atual correspondem a isso — estamos trabalhando nisso o mais rápido possível.

Este é considerado um documento vivo que orienta como a documentação do Discourse é escrita e formatada. Este tópico será mantido atualizado conforme necessário. Se você tiver dúvidas sobre algum dos princípios aqui, poste no tópico para discutir os detalhes.

O princípio orientador por trás deste guia de estilo de documentação é considerar seus leitores e suas necessidades ao escrever a documentação: o que eles querem realizar? Qual é o seu objetivo ao fornecer o conteúdo?

:eyes: Lista de verificação rápida ao implementar o guia de estilo:

  1. O bloco de metadados está presente e correto
  2. O título é orientado a ação
  3. Todos os títulos usam minúsculas para frases
  4. Tags e categorias corretas são usadas
  5. O documento está estruturado logicamente

Ao concluir um documento, revise-o para garantir que todos esses critérios sejam atendidos.

Por favor, observe estas diretrizes de formatação de texto:


Informações de metadados

  • O documento deve pertencer a uma e apenas uma das seguintes categorias:
    • Usando o Discourse
      • Guias gerais para usuários em tarefas não administrativas
    • Gerenciamento do site
      • Configurações, plugins, conteúdo e administração geral do site
    • Integrações
      • Guias para integrar outras plataformas com o Discourse
    • Clientes hospedados
      • Guias relevantes apenas para clientes hospedados
    • Auto-hospedagem
      • Guias relevantes apenas para sites auto-hospedados
    • Guias para desenvolvedores
      • Guias técnicos para desenvolver sobre o Discourse, incluindo criação de temas, componentes de temas e plugins
    • Contribuindo
      • Guias para contribuir com o projeto de código aberto do Discourse
  • O documento deve pertencer a uma e apenas uma das seguintes tags / tipos de documento:
    • #how-to
    • #explanation
    • #reference
    • #tutorial
  • O documento pode ter outras tags aplicáveis, com um máximo absoluto de 5 tags em um único documento

Bloco de metadados

Todos os documentos devem ter um bloco no topo que inclua uma breve explicação sobre o que o documento trata, além de quaisquer outras informações de metadados relevantes, como requisitos de nível de usuário, se é necessário acesso ao console ou qualquer outra coisa. Isso será formatado em um bloco de citação sem um título sobre ele. Aqui está um exemplo do que isso deve parecer:

:bookmark: Este é um guia para descrever todas as configurações ocultas do site disponíveis, como ativá-las e por que você pode querer ajustá-las.

:person_raising_hand: Nível de usuário necessário: Administrador

:computer: Acesso ao console necessário

Títulos e cabeçalhos

  • Faça os títulos do documento orientados a ação
    • Incorreto: “Como ativar títulos automáticos para threads de chat”
    • Correto: “Ativando títulos automáticos para threads de chat”
  • Os títulos dos documentos não devem ser muito longos
  • Para tópicos ‘how-to’, faça o título orientado ao objetivo
  • Todos os títulos devem ser específicos e únicos
  • Não use pontuação ou caracteres especiais em títulos de documentos, exceto vírgulas
  • Não inclua emojis em títulos de documentos
  • Use minúsculas para frases em títulos e cabeçalhos — isso significa que apenas a primeira palavra começa com letra maiúscula, junto com nomes próprios e quaisquer outras palavras que normalmente seriam capitalizadas
  • Não use símbolos de e comercial (&) em cabeçalhos; use a palavra completa (“e”)

Diretrizes gerais de escrita, tom e gramática

  • Use a voz segunda pessoa ao se referir às pessoas que leem o documento — ou seja, use “você”, não “nós”
  • Use a voz ativa o máximo possível
    • Incorreto: “o botão deve ser clicado”
    • Correto: “clique no botão”
  • Defina siglas e abreviações quando usadas pela primeira vez; se necessário, forneça um link externo que ofereça mais informações
  • Use frases curtas e divida o texto usando parágrafos, cabeçalhos e listas mais curtos
  • Você pode usar **negrito** e itálico para enfatizar frases ou palavras-chave, mas não exagere
  • Evite usar jargão ou termos técnicos sem explicações — em caso de dúvida, inclua a explicação
  • Use capturas de tela ao descrever uma interface visual, como um elemento de UI
  • Não documente nem tente divulgar recursos, produtos ou serviços futuros do Discourse, a menos que explicitamente permitido
  • Use palavras de transição, como portanto, embora e além disso.
  • Use contrações comuns: está, você vai, você está, nós estamos, vamos
  • Infira atemporalidade na documentação — evite palavras como em breve, novo, agora, mais recente, etc., que rapidamente se tornam irrelevantes
  • Não atribua qualidades humanas a software ou hardware
    • Ex.: “Se você passar um inteiro para esta API, ela ficará brava e lançará um erro”
    • Ex.: “Nosso amigável e ambicioso bot de IA ajudará a resolver todos os seus problemas”
  • Ao citar texto (incluindo da interface do Discourse), use “aspas”
  • Ao citar uma URL, use backticks
  • Ao usar um domínio de exemplo, use discourse.exemplo.com
  • Se for útil, você pode usar emojis no início de um parágrafo para destacá-lo. Não use mais de dois ou três desses em um único tópico. Alguns emojis de exemplo que você pode usar:
    • :information_source: - Uma nota informativa
    • :mega: - Anúncio ou aviso
    • :warning: - Uma mensagem de aviso
    • :exclamation: - Informação muito importante
  • Evite:
    • Metáforas ou humor desnecessários
    • Referências culturais e regionais
    • Dictar ou ordenar procedimentos em um tom condescendente — ex.: Você deve clicar em Publicar ou Você precisa clicar em Publicar
    • Ser excessivamente educado. Por exemplo, Por favor, clique em Publicar
    • Usar pontos de exclamação, a menos que absolutamente necessário
    • Capitalizar palavras onde não é necessário
    • Uso excessivo das mesmas frases e pronomes

Para documentação de usuário final:
Mantenha um tom amigável e informal, com foco em ser claro e conciso de maneira conhecedora. Vá direto ao ponto. Explique termos técnicos, mas cuidado para não ser condescendente. Para garantir clareza, comece especificando brevemente o contexto do tópico atual.

Para documentação de desenvolvedor e técnica:
Mantenha um tom direto e preciso. Use o mesmo tom que você usaria para documentação de usuário, mas pode assumir um nível mais alto de conhecimento técnico em seus leitores.

Estrutura

  • Vá direto ao ponto — comece com o que é mais importante
  • Inclua palavras-chave importantes cedo no documento
  • Torne as escolhas do leitor e os próximos passos óbvios
  • Sempre use marcação leve para escrever documentação (Isso já está integrado ao Discourse com Markdown-it).
  • Organize sua documentação em um fluxo lógico — comece com uma visão geral, seguida por seções detalhadas e um resumo ou conclusão, se aplicável
  • Use cabeçalhos e subcabeçalhos para estruturar seu conteúdo, facilitando a leitura e a localização de informações específicas — use hierarquia decrescente em cabeçalhos, começando com h2, e não pule níveis
  • Forneça links para tópicos ou seções relacionados dentro da sua documentação — isso ajuda os usuários a encontrar informações adicionais sem buscas desnecessárias

Links

  • Use texto significativo em links
    • Incorreto: “Clique aqui para ler o guia”
    • Correto: “Leia o guia
  • A menos que o formato da URL seja importante ou instrutivo, não use uma URL como texto do link — em vez disso, use o título da página ou uma descrição da página
  • Link para sites e fontes externos em vez de citar ou reescrever documentação existente
  • Garanta que os sites aos quais você linka sejam de alto padrão e qualidade
  • Se o link baixar um arquivo, mencione explicitamente isso — também indique o tipo de arquivo sendo baixado e uma estimativa aproximada do tamanho do arquivo

Código na documentação

  • Use blocos de código com destaque de sintaxe específico da linguagem quando possível para exemplos grandes de código
  • Se não for autoexplicativo, introduza um exemplo de código com uma frase introdutória que inicie o exemplo que segue — em caso de dúvida, inclua a explicação
  • Exemplos de código devem seguir as melhores práticas para escrever código na linguagem de programação relevante
  • Use código inline para expressar atributos básicos de código ou quando um bloco de código completo não for necessário, como:
    • Nomes e valores de atributos
    • Nomes de classes
    • Nomes de utilitários de linha de comando
    • Tipos de dados
    • Nomes de variáveis de ambiente
    • Nomes de arquivos, extensões de arquivo e caminhos
    • Pastas e diretórios
    • Verbos HTTP, códigos de status e valores de tipo de conteúdo
    • Nomes e valores de parâmetros de consulta
    • Entrada de texto
  • Quando você usar um placeholder em exemplos de código, comandos ou outro texto, inclua uma explicação do que o placeholder representa
    • Escreva uma explicação na primeira vez que usar o placeholder; se houver múltiplos placeholders ou etapas após a primeira utilização desse placeholder, você pode explicar o placeholder novamente
  • Forneça uma maneira fácil para usuários ou desenvolvedores copiarem e executarem o código.
    • Mostre a saída esperada, seja em uma seção separada após o exemplo de código ou usando comentários de código dentro do exemplo de código
  • Escreva código seguro — nunca codifique senhas, chaves de API ou informações seguras no código

Procedimentos e guias passo a passo

  • Formate procedimentos consistentemente, para que os leitores possam encontrá-los facilmente ao analisar
  • Use uma entrada numerada separada para cada etapa
  • Inclua ações que finalizam uma etapa, como botões OK ou Aplicar
  • Se a instrução aparecer na mesma interface onde a ação ocorre, geralmente não é necessário fornecer detalhes de localização
  • Se você precisar garantir que o leitor comece no lugar certo, forneça uma breve frase no início da etapa

Acessibilidade e inclusão

  • Use capturas de tela, diagramas ou vídeos onde agreguem valor, especialmente para explicar etapas complexas ou mostrar partes de uma interface
  • Imagens devem ser usadas para apoiar informações textuais, não substituí-las
  • Sempre use atributos alt para imagens
  • Sempre forneça legendas ou transcrições para vídeos
  • Use GIFs apenas se você puder explicar completamente o conteúdo em texto
  • Escolha imagens simples e recorte detalhes desnecessários
  • Use linguagem simples e evite figuras de linguagem ou expressões idiomáticas que possam não ser universalmente compreendidas
  • Considere que seu documento será usado em uma multitude de dispositivos
  • Use linguagem neutra em termos de gênero. Não use ele, ele, dele, ela, dela, dela ao se referir a pessoas — para escrever sem pronomes, você pode:
    • Reescrever usando a segunda pessoa (você)
    • Reescrever a frase para ter um substantivo plural e pronome
    • Usar as palavras pessoa ou indivíduo
    • Usar artigos o, um ou uma em vez de um pronome
    • Usar um pronome plural, como eles, deles ou a eles, mesmo que se refira a um único indivíduo
  • Quando estiver escrevendo sobre uma pessoa real, use os pronomes que essa pessoa prefere
  • Seja inclusivo em relação à identidade de gênero, raça, cultura, religião, capacidade, idade, orientação sexual e classe socioeconômica — inclua uma ampla variedade de profissões, culturas, contextos educacionais, locais e configurações econômicas em exemplos
  • Evite conteúdo politizado — em casos onde conteúdo político precisa ser incluído, mantenha-se neutro
  • Não faça generalizações sobre pessoas, países e culturas, nem mesmo generalizações positivas ou neutras
  • Não escreva conteúdo preconceituoso e discriminatório contra qualquer comunidade, especialmente minorias
  • Evite termos qualitativos relacionados a eventos históricos
  • Evite usar termos e metáforas associados à violência e ações militares
8 curtidas

@hugh / @SaraDev

Estou vendo uma pequena inconsistência aqui sobre os títulos.

Temos estes exemplos:

Mas depois dizemos isto:

Se eu colocar o exemplo “correto” no conversor, obtenho isto em vez disso:

Enable Automatic Titles for Chat Threads

Deveríamos atualizar o nosso exemplo para corresponder?

aside

Se dependesse apenas de mim, eu teria pensado que iríamos com a capitalização de frase, e não tenho a certeza porque temos “Chat Threads” capitalizado no título do tópico atual, então pessoalmente eu preferiria ver isto:

Enable automatic titles for chat threads

Mas a consistência é mais importante no final e assumirei que vocês têm uma boa razão para ter escolhido a recomendação atual.

1 curtida

Essa é uma boa observação - eu não tinha feito essa conexão, mas é fácil de atualizar. No entanto:

A especificação de caixa de título foi minha, porque acho que geralmente parece mais limpo e profissional. Acho que essa é muito mais uma opinião subjetiva minha, porque tanto o Google quanto a Microsoft dizem para usar a caixa de sentença em títulos de documentação. Outros sites que encontrei também dizem para usar a caixa de sentença, então vou reverter isso e atualizar o requisito de caixa lá.

3 curtidas

Também notei que eles dizem para usar a capitalização de frase para títulos e subtítulos. (Estou na mesma equipe).

Parece que não estamos especificando nossa preferência para subtítulos no momento. Vamos adicionar isso também enquanto estamos nisso.

1 curtida

Concordo - adicionarei isso aqui para especificar explicitamente.

1 curtida

OK, já que estou inspirado aqui…

Gosto que digamos isto:

Mas no guia, temos este exemplo, atualmente:

Minha opinião é que é desnecessário capitalizar “Configurações Ocultas do Site” aqui. (apelo à autoridade)

2 curtidas

Agradeço o apelo :smile:

Sim, este é um bom ponto - esse exemplo foi retirado de um documento real onde usamos o título do documento existente para descrevê-lo, e como esse documento usava maiúsculas em títulos, a referência também o fez. Com a mudança de maiúsculas em títulos para maiúsculas em frases, essa referência também deve ser atualizada.

1 curtida

Fiz algumas edições neste guia de estilo agora com base na conversa acima.

  • Alterei o título do tópico para minúsculas (sentence case)
  • Alterei os títulos para minúsculas (sentence case)
  • Removi uma capitalização desnecessária (Syntax)
  • Substituí ampersands (&) nos títulos por “and”
  • Substituí barras (/) nos títulos por vírgulas ou conjunções

Essas duas últimas alterações não foram discutidas – me diga se elas parecem supérfluas ou em desacordo com o guia (ou, alternativamente, se devemos capturar essas diretrizes no guia).

2 curtidas

Gostei dos dois últimos - eles estão definitivamente alinhados com o espírito do restante do guia e valem a pena incluí-los no próprio guia. Vou adicioná-los agora.

1 curtida

Presumo que as bandeiras para rotular documentos em outros idiomas sejam uma exceção.

1 curtida

Junto com evitar expressões idiomáticas, eu sempre evitei usar contrações na documentação. Pensei que elas dificultavam a compreensão para leitores não nativos de inglês/ocidentais. O inglês é uma língua estranha.

Moreover?

Em algum momento, nós (possivelmente eu) começamos a usar código inline para nos referirmos a configurações do site. Por exemplo: “Enable the discourse connect site setting.” Essa pode ser a abordagem correta, mas parece um pouco voltada para desenvolvedores.

Pode valer a pena usar um nome de placeholder consistente para nos referirmos aos sites do Discourse. Talvez discourse.example.com? Há alguma documentação aqui que se refere ao site do Discourse como sitename.com. Isso me confundiu bastante.


Alguns conselhos gerais de escrita: leia o que você escreveu como se fosse um membro do seu público-alvo (veja como as contrações são complicadas). Certifique-se de que suas suposições sobre o conhecimento prévio do público sejam razoáveis.

Por mais que eu aprecie não ter mais uma tonelada de tópicos de documentação atribuídos a mim, usar o Discourse como autor de todos os tópicos de documentação da equipe parece um pouco frio.

O que tornou a escrita divertida para mim novamente foi o conselho de procurar maneiras de colocar um pouco de si mesmo em tudo o que você está escrevendo. Poderia ser qualquer coisa, seu tom de voz, seus hobbies, o que for… Isso é meio que o oposto do que está sendo recomendado aqui.

6 curtidas

Olá Simon! :blob_wave:

Eu ia ver como isso se desenrolaria, mas sim, eu sou o mesmo, eu tento evitar contrações.

Hahaha, sim… Não vou usar nenhuma dessas palavras na documentação, para não revelar meu :face_with_monocle:.

Com certeza: Example Domains

Este é o ponto que vim discutir! :smiley:

Tivemos muita discussão sobre isso, e fiquei feliz em ver isso incluído no guia de estilo por padrão.

Aqui está o porquê eu acho que é importante: produzir documentação precisa ser acessível para o maior número possível de membros da nossa comunidade, incluindo (especialmente?) nossos membros da equipe do Discourse.

Discourse é um software social de discussão. E alguma documentação é realmente uma conversa contínua. Se estou compartilhando uma prática sobre como eu integro membros à minha comunidade, eu gostaria de ser apresentado como o “proprietário” desse tópico, para que eu possa responder a perguntas e expandir o assunto.

Por outro lado, se um cliente pergunta sobre um recurso que nunca explicamos, eu gostaria de poder usar o guia de estilo e produzir documentação útil e geral, o que sinto que ser o proprietário do tópico apresenta mais inércia para a publicação.

Além disso, se produzirmos documentação fora do Discourse (uma integração ou produção a partir de comentários de código ou o que for), ter um “usuário de documentação” é provavelmente mais fácil como um detalhe de implementação. :thinking:

Não acho que este guia impedirá as pessoas de injetar sua voz e personalidade, e hospedar a discussão. Mas seria ótimo se ajudasse mais pessoas a entrar na prática de documentar, que de outra forma não o fariam (e então poderemos incentivá-las a serem mais pessoais!) :smiley:

3 curtidas

Até termos uma forma nativa de lidar com documentos localizados, acho que prefixar o título com bandeiras é a maneira mais prática de fazer isso, e uma exceção razoável a esta diretriz.

Acho que esse tipo de coisa tem opiniões e preferências diferentes de qualquer maneira, mas para este guia de estilo, estamos seguindo as normas aceitas pela indústria. Mais uma vez, as diretrizes do Google e da Microsoft concordam que é melhor usar contrações comuns.

Dito isso, li algumas postagens sugerindo que o uso de contrações negativas (como “can’t”) pode dificultar a compreensão para falantes não nativos de inglês. Vamos investigar isso um pouco mais e, se necessário, atualizar o guia de estilo de acordo.

Removi esse exemplo! :smile:

Sim - isso é muito comum (não apenas no Discourse), mas concordo que não está totalmente correto. Usar aspas seria melhor, então acho que vou deixar isso explícito no guia de estilo.

Esse é um ótimo ponto - vou adicionar isso ao guia de estilo!

Obrigado por este feedback! @maiki fez alguns bons pontos acima, e concordo com o que ele diz lá. Para acrescentar a isso, direi que uma das razões pelas quais mudamos a autoria da documentação oficial para @Discourse é para dar a eles um maior senso de autoridade para os leitores, especialmente para as pessoas que estão acessando a documentação pela primeira vez. Este é também o ímpeto por trás de todo o guia de estilo em primeiro lugar.

Qualquer pessoa que escreva documentação pode definitivamente injetar sua personalidade em sua escrita, e a discussão sobre tópicos individuais de documentação não vai a lugar nenhum, então esse é sempre um bom lugar para tornar as coisas mais pessoais também.

Todo esse feedback é muito apreciado :slight_smile:

2 curtidas

Em relação à parte metablock do guia. Embora os tópicos de Documentação precisem de um de acordo com o guia acima, nem todos os tópicos têm um [1] e eles nem sempre são consistentes, aqui estão alguns exemplos de alguns guias que encontrei.

Pessoalmente, eu gosto de ‘Todos os usuários’

Eu não queria sair mudando isso em tópicos antes de coletar algum feedback :smiley:


  1. talvez dependa do contexto do tópico? ↩︎

4 curtidas

Todos os docs do @Discourse estão em andamento e todos, esperançosamente, terão um em algum momento (:crossed_fingers:). Bom ponto sobre a inconsistência. Não tenho certeza de qual escolheremos, mas definitivamente garantiremos que escolheremos um e o manteremos. :slight_smile:

4 curtidas

Eu também gostaria de acrescentar que, para qualquer um que você veja com o novo bloco de informações incluído, isso significa que eles passaram pela ‘fase 1’ e entraram na fase de revisão - então, se você ler um e pensar ‘isso não está certo’ ou ‘falta alguma informação’ e se sentir generoso o suficiente para deixar algum feedback, por favor, adicione seus pensamentos a uma postagem. :heart: :slight_smile:

5 curtidas

Qual é o propósito das informações de nível de usuário exigidas no topo? Pensei que forneceria informações sobre se o documento é relevante para mim ou não. Assim, eu poderia lê-lo e decidir “Eu não sou xxx, então não é relevante”.
Mas parece que é usado de forma diferente, porque, por exemplo, usuários abaixo do TL3 podem editar wikis, então é relevante para outros também.

3 curtidas

Obrigado por destacar isso, @Moin - esse tópico foi atualizado para retificar o nível de usuário exigido.

Seu entendimento sobre para que serve essa informação está correto - deve dizer qual nível ou tipo de usuário é capaz de realizar as ações explicadas no documento.

1 curtida