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.
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.