🛠️ToolsShed

Visualizador de Markdown

Escreva Markdown e visualize o resultado renderizado em tempo real.

Hello, Markdown!

This is bold and this is italic text.

Features

  • Live preview as you type
  • Syntax support for common elements
  • Code blocks with inline code
const greet = (name) => `Hello, ${name}!`;
console.log(greet("World"));
Blockquotes look like this.

Visit ToolsShed

A Visualização de Markdown renderiza texto formatado em Markdown para HTML estilizado em tempo real, permitindo que você veja exatamente como seu documento ficará antes de publicar. Markdown é a linguagem de formatação padrão para arquivos README no GitHub, sites de documentação e plataformas de blog como Dev.to e Hashnode.

Escreva seu Markdown no painel esquerdo e veja a saída formatada aparecer imediatamente no painel direito. O renderizador suporta a especificação CommonMark completa mais extensões comuns: cabeçalhos, negrito, itálico, código inline, blocos de código, citações, listas, tabelas, listas de tarefas, links e imagens.

Markdown é intencionalmente simples, mas algumas escolhas de formatação têm particularidades específicas da plataforma. Por exemplo, o GitHub Flavored Markdown (GFM) adiciona tachado (~~texto~~) e listas de tarefas. Se você estiver escrevendo para uma plataforma específica, verifique a documentação para saber qual dialeto Markdown ela usa.

Perguntas Frequentes

Implementação de Código

import re

def simple_markdown_to_html(text: str) -> str:
    """Convert basic Markdown to HTML."""
    lines = text.split("\n")
    html_lines = []
    in_code_block = False

    for line in lines:
        # Fenced code block
        if line.startswith("```"):
            if in_code_block:
                html_lines.append("</code></pre>")
                in_code_block = False
            else:
                lang = line[3:].strip()
                html_lines.append(f'<pre><code class="language-{lang}">')
                in_code_block = True
            continue

        if in_code_block:
            html_lines.append(line)
            continue

        # Headings
        if line.startswith("### "):
            html_lines.append(f"<h3>{line[4:]}</h3>")
        elif line.startswith("## "):
            html_lines.append(f"<h2>{line[3:]}</h2>")
        elif line.startswith("# "):
            html_lines.append(f"<h1>{line[2:]}</h1>")
        elif line.startswith("- "):
            html_lines.append(f"<li>{line[2:]}</li>")
        elif line.strip() == "":
            html_lines.append("<br>")
        else:
            # Bold and italic
            line = re.sub(r'\*\*(.+?)\*\*', r'<strong>\1</strong>', line)
            line = re.sub(r'\*(.+?)\*', r'<em>\1</em>', line)
            # Links
            line = re.sub(r'\[(.+?)\]\((.+?)\)', r'<a href="\2">\1</a>', line)
            # Inline code
            line = re.sub(r'`(.+?)`', r'<code>\1</code>', line)
            html_lines.append(f"<p>{line}</p>")

    return "\n".join(html_lines)

md = "# Hello\n**Bold** and *italic* text\n[Link](https://example.com)"
print(simple_markdown_to_html(md))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.