Guia completo de Markdown para HTML: Da sintaxe básica às técnicas avançadas de diagramação

Documentos

Por que Markdown?

Markdown é o padrão de fato para documentação técnica—GitHub, Stack Overflow, Notion e VS Code oferecem suporte nativo.

Comparação Markdown Word HTML
Custo de aprendizado Baixo Médio Alto
Controle de versão ✅ Texto puro ❌ Binário ✅ Texto puro
Legibilidade ✅ O código-fonte é o documento
Capacidade expressiva Média (forte com extensões) Forte Forte
Consistência de renderização Média ❌ Varia por plataforma

Referência rápida de sintaxe básica

Títulos

# Título H1
## Título H2
### Título H3
#### Título H4
##### Título H5
###### Título H6

Ênfase

**Negrito**    → <strong>Negrito</strong>
*Itálico*      → <em>Itálico</em>
~~Tachado~~  → <del>Tachado</del>
`Código inline`  → <code>Código inline</code>

Listas

- Item de lista não ordenada 1
- Item de lista não ordenada 2
  - Item aninhado

1. Item de lista ordenada 1
2. Item de lista ordenada 2
   1. Ordenado aninhado

- [ ] Tarefa (incompleta)
- [x] Tarefa (concluída)
[Texto do link](https://example.com)
[Link com título](https://example.com "Título")
![Texto alternativo da imagem](image.png)
![Imagem com título](image.png "Título da imagem")

Citações e linhas horizontais

> Texto da citação
> > Citação aninhada

---

Sintaxe estendida GFM

Tabelas

| Alinhado à esquerda | Centralizado | Alinhado à direita |
|:-------|:----:|-------:|
| Conteúdo   | Conteúdo | Conteúdo   |
| Conteúdo longo | Curto   | Médio   |

Resultado renderizado:

Alinhado à esquerda Centralizado Alinhado à direita
Conteúdo Conteúdo Conteúdo
Conteúdo longo Curto Médio

Listas de tarefas

- [x] Análise de requisitos
- [x] Design técnico
- [ ] Desenvolvimento
- [ ] Testes e aceitação

Blocos de código com cerca

```javascript
function hello() {
  console.log('Hello, Markdown!');
}
```

```python
def hello():
    print("Hello, Markdown!")
```

Notas de rodapé

Este é um texto[^1], e outra parte[^note].

[^1]: Este é o conteúdo da primeira nota de rodapé.
[^note]: Esta é uma nota de rodapé com ID personalizado.

Técnicas avançadas de diagramação

1. Fórmulas matemáticas (KaTeX/MathJax)

Fórmula inline: $E = mc^2$

Fórmula em bloco:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

Matriz:
$$
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
$$

2. Diagramas Mermaid

```mermaid
graph TD
    A[Solicitação do usuário] --> B{Verificação de autenticação}
    B -->|Autenticado| C[Obter dados]
    B -->|Não autenticado| D[Retornar 401]
    C --> E[Renderizar página]
```

Tipos de diagramas suportados:

Tipo Palavra-chave Uso
Diagrama de fluxo graph Fluxo de negócio, árvore de decisões
Diagrama de sequência sequenceDiagram Chamadas de API, fluxo de interação
Diagrama de classes classDiagram Design orientado a objetos
Diagrama de estados stateDiagram Máquina de estados
Diagrama de Gantt gantt Cronograma do projeto
Gráfico de pizza pie Proporção de dados

3. Sumário (TOC)

<!-- Gerar sumário automaticamente -->
[[toc]]

<!-- Ou manual -->
- [Instalar](#instalar)
- [Configurar](#configurar)
- [Usar](#usar)

4. Listas de definição

Termo 1
: Definição 1

Termo 2
: Definição 2

5. Abreviações

*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium

HTML é um padrão desenvolvido pelo W3C.

Usar ToolsKu para converter Markdown

Passos de operação

  1. Abra o Editor Markdown
  2. Insira Markdown na área de edição à esquerda
  3. A visualização do renderizado HTML é exibida em tempo real à direita
  4. Você pode alternar para o modo "código-fonte" para ver o HTML gerado
  5. Suporta exportar como arquivo HTML

Extensões suportadas

Extensão Descrição Exemplo
GFM Tabelas, listas de tarefas, notas de rodapé Estilo GitHub
Fórmulas matemáticas Renderização com KaTeX $E=mc^2$
Mermaid Renderização de diagramas Diagrama de fluxo, diagrama de sequência
Destaque de sintaxe Prism.js/highlight.js Coloração de blocos de código
Emoji :smile: → 😄 Substituição de códigos curtos

Princípios de conversão de Markdown para HTML

Fluxo de análise

Texto Markdown
  ↓
Análise léxica (Lexer) → Fluxo de Tokens
  ↓
Análise sintática (Parser) → AST (Árvore Sintática Abstrata)
  ↓
Renderizador (Renderer) → String HTML

Bibliotecas de análise principais

Biblioteca Linguagem Características Tamanho
marked JS A mais rápida, a mais popular 40KB
markdown-it JS Plugins ricos, extensível 60KB
remark JS Ecossistema AST, base do MDX 100KB+
CommonMark JS Conformidade estrita com o padrão 50KB
pulldown-cmark Rust Desempenho extremo WASM 200KB

Uso básico do marked

import { marked } from 'marked';

const html = marked.parse('# Hello **Markdown**');
// <h1>Hello <strong>Markdown</strong></h1>

markdown-it + plugins

import MarkdownIt from 'markdown-it';
import mk from 'markdown-it-mark';
import footnote from 'markdown-it-footnote';
import tasklist from 'markdown-it-task-lists';

const md = new MarkdownIt({ html: true, linkify: true })
  .use(mk)
  .use(footnote)
  .use(tasklist);

const result = md.render('# Hello Markdown');

MDX: Markdown + JSX

MDX permite usar componentes React no Markdown:

---
title: "Meu artigo"
---

import { Chart } from './components/Chart';
import { Callout } from './components/Callout';

# Relatório de análise de dados

<Callout type="warning">
  Os dados a seguir são baseados na amostragem do Q1 de 2026.
</Callout>

## Tendência de crescimento de usuários

<Chart data={growthData} type="line" />

| Mês | Usuários | Taxa de crescimento |
|------|--------|--------|
| Jan  | 10,000 | -      |
| Fev  | 12,500 | 25%    |
| Mar  | 15,000 | 20%    |

Melhores práticas

1. Organização de arquivos

docs/
├── getting-started.md
├── configuration.md
├── api/
│   ├── authentication.md
│   ├── endpoints.md
│   └── errors.md
└── guides/
    ├── deployment.md
    └── troubleshooting.md

2. Normas de escrita

  • Uma frase por linha: Compatível com Git diff, facilita a revisão de alterações
  • Não pular níveis de títulos: H1 → H2 → H3, não H1 → H3
  • Especificar linguagem em blocos de código: ````javascript` em vez de `````
  • Usar links de estilo referência: Em documentos longos, [texto][ref] é mais limpo que [texto](url)
  • Adicionar texto alternativo às imagens: ![descrição](imagem) melhora a acessibilidade

3. Ferramentas Lint

# Instalar markdownlint
npm install -g markdownlint-cli

# Verificar
markdownlint docs/**/*.md

# Corrigir automaticamente
markdownlint docs/**/*.md --fix

Perguntas frequentes

O HTML no Markdown não funciona?

Alguns analisadores desativam o HTML bruto por padrão, você precisa habilitar a opção html: true.

Tabelas não suportam mesclagem de células?

Tabelas padrão do Markdown não suportam mesclagem de células. Use tabelas HTML quando necessário:

<table>
  <tr>
    <th>Nome</th>
    <th>Descrição</th>
  </tr>
  <tr>
    <td rowspan="2">Projeto A</td>
    <td>Subitem 1</td>
  </tr>
  <tr>
    <td>Subitem 2</td>
  </tr>
</table>

A sintaxe Markdown em blocos de código é analisada?

Use mais acentos graves para aninhar:

````markdown
```javascript
console.log('Não será analisado pela camada externa');
```

---

## Resumo

Markdown é o melhor formato para escrita técnica—conciso, com controle de versão, ecossistema rico. Domine a sintaxe básica + extensões GFM + fórmulas matemáticas + diagramas Mermaid, e você poderá escrever documentação técnica de nível profissional. O [Editor Markdown](/pt-BR/docs/markdown) do ToolsKu oferece visualização em tempo real e exportação, permitindo que você se concentre no conteúdo em vez da diagramação.
#Markdown#HTML转换#文档编写#排版#教程