🗺️ O Mecanismo de Tokenização e Syntax Highlighting

flowchart LR
    MD["Markdown Bruto:\n```python\ndef soma(a, b):\n    return a + b\n```"]
    --> LEXER["Lexer (Rouge / Pygments / Prism)"]
    LEXER --> TOKENS["Tokens: KEYWORD('def'), FUNC('soma'), VAR('a')"]
    TOKENS --> HTML["HTML Formatado:\n<span class='kd'>def</span> <span class='nf'>soma</span>..."]
    HTML --> CSS["Tema Visual de Código (Dracula, Monokai, GitHub Dark) ⚡"]

    style MD fill:#ede7f6,stroke:#512da8,stroke-width:2px
    style LEXER fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style TOKENS fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
    style HTML fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
    style CSS fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff

📖 Fundamentos e Aplicação

A apresentação clara de código é o coração de qualquer documentação técnica em engenharia de software. O Markdown suporta tanto código em linha (inline code) quanto blocos delimitados (fenced code blocks).

1. Fenced Code Blocks e Identificadores de Linguagem

Utilizam-se três crases (ou tils) seguidas do identificador canônico da linguagem:

```rust
fn main() {
    println!("Olá, mundo!");
}
```

2. Destaque de Diferenças de Código (diff)

Essencial para tutorias de refatoração, mostrando o que foi removido (-) e o que foi adicionado (+):

```diff
- const timeout = 5000;
+ const timeout = 10000; // Dobrado para tolerância em redes lentas
```

3. Blocos de Código Aninhados (Four Backticks)

Para documentar o próprio Markdown sem quebrar o delimitador, use quatro crases na cerca externa:

````markdown
```python
print("Código demonstrado dentro de documentação Markdown")
```
````