🛠️ToolsShed

Anteprima Markdown

Scrivi Markdown e visualizza l'anteprima del risultato in tempo reale.

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

L'anteprima Markdown renderizza il testo formattato in Markdown in HTML con stile in tempo reale, permettendoti di vedere esattamente come apparirà il tuo documento prima della pubblicazione. Markdown è il linguaggio di formattazione standard per i file README su GitHub, i siti di documentazione e le piattaforme blog come Dev.to e Hashnode.

Scrivi il tuo Markdown nel pannello sinistro e vedi l'output formattato apparire immediatamente nel pannello destro. Il renderer supporta la specifica CommonMark completa più estensioni comuni: intestazioni, grassetto, corsivo, codice in linea, blocchi di codice, citazioni, elenchi, tabelle, elenchi di attività, link e immagini.

Markdown è intenzionalmente semplice ma alcune scelte di formattazione hanno particolarità specifiche della piattaforma. Ad esempio, GitHub Flavored Markdown (GFM) aggiunge testo barrato (~~testo~~) e elenchi di attività. Se scrivi per una piattaforma specifica, controlla la sua documentazione per sapere quale dialetto Markdown usa.

Domande Frequenti

Implementazione del Codice

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.