Confronto · Aggiornato il 2026-05-16
L'editor Markdown di TaskKit vs Dillinger.io
Entrambi gli strumenti ti lasciano digitare Markdown a sinistra e vedere l'HTML a destra. Divergono nettamente su cosa viene caricato accanto all'editor, su cosa attraversa la rete quando premi Export, e su cosa fa la pagina prima che tu abbia digitato qualcosa. Il riepilogo qui sotto è misurato contro il bundle servito su dillinger.io e basato sulla documentazione di Dillinger stessa.
Riepilogo
- Origini di terze parti al primo paint: Dillinger ne carica tre (
cdn.jsdelivr.netper Monaco,m.servedby-buysellads.comper l'SDK di monetizzazione BuySellAds evia.placeholder.comper un'immagine demo). La pagina/dev/markdowndi TaskKit ne carica zero. - Framework pubblicitario / di sponsorizzazione:
monetization.jsdi BuySellAds gira al primo paint, e la coda_bsaviene inizializzata con uno slot pubblicitario inwindow. Non abbiamo visto Google Analytics, GTM o DoubleClick. TaskKit non carica analytics, pubblicità, né alcun SDK di terze parti. - Ping al backend prima che tu digiti: dillinger.io invia
/api/github/status,/api/dropbox/status,/api/google-drive/status,/api/onedrive/statuse/api/bitbucket/status, due volte ciascuno, a freddo. La pagina Markdown di TaskKit non ha un backend da pingare. - Export PDF: il documento di benvenuto di Dillinger lo dichiara esplicitamente, con la frase "PDF export Available Server-rendered". L'export di TaskKit gira interamente nel browser (
html2canvas-pro+pdf-lib, importati dinamicamente al primo uso). - Mermaid: TaskKit renderizza i blocchi
```mermaidin tempo reale (flowchart, sequence, class, state, ER, journey, gitGraph, timeline, mindmap, gantt, pie). La /guide di Dillinger non menziona Mermaid. - Dove vince Dillinger: sync cloud verso cinque provider, matematica KaTeX, note a piè di pagina, profondità dell'editor Monaco (multi-cursore, keybinding vim/emacs), passaggio esplicito ad AI. TaskKit non offre nulla di tutto ciò.
Privacy, misurata
Misurato il 2026-05-16, profilo Chrome pulito, nessuna estensione che filtra le richieste. I numeri si riferiscono alla home page (l'editor stesso) al primo paint, prima di qualsiasi azione dell'utente.
| Azione | Dillinger | TaskKit |
|---|---|---|
| Origini di terze parti al primo paint | 3 (cdn.jsdelivr.net, m.servedby-buysellads.com, via.placeholder.com) | 0 |
| SDK pubblicitario / di monetizzazione | BuySellAds (monetization.js; coda _bsa inizializzata con uno slot) | Nessuno |
| Google Analytics / GTM / DoubleClick | Non rilevati al primo paint | Nessuno |
| Ping di stato al backend (prima di qualsiasi digitazione) | 10 chiamate a /api/{github,dropbox,google-drive,onedrive,bitbucket}/status (due volte ciascuna) | 0 |
| Salvataggio su GitHub / Dropbox / Drive / OneDrive / Bitbucket | OAuth via /api/{provider}/callback; il documento passa dal backend di Dillinger | Non offerto. Copia HTML o esporta PDF in locale. |
| Export in PDF | Reso lato server (dal documento di benvenuto di Dillinger stesso) | Solo browser (html2canvas-pro + pdf-lib; nessun upload, nessun print dialog) |
| Export in HTML stilizzato | Stesso percorso di export dell'applicazione | Bottone Copy HTML (negli appunti) |
| Invio della bozza a un LLM | "Feed your content directly to ChatGPT, Claude, or any LLM" (pagina features di Dillinger) | Non integrato. Copiare l'output sta a te. |
Il sync cloud mediato da OAuth è uno schema ragionevole per quello che fa Dillinger. Il contrasto non è che il design sia sbagliato, è che il backend esiste, e questo implica un modello di sessione, gestione di token OAuth e un percorso server per il documento. L'editor Markdown di TaskKit non ne ha uno perché nulla di ciò che fa lo richiede. Più informazioni su come TaskKit tratta i tuoi dati.
Matrice di funzionalità
| Capacità | Dillinger | TaskKit |
|---|---|---|
| Rendering Markdown | ||
| Basi CommonMark (titoli, liste, codice, link) | Sì | Sì |
| Tabelle GFM | Sì | Sì (allineamento con i due punti nella riga separatrice) |
| Task list ([ ] / [x]) | Sì | Sì (checkbox disabilitate per rendering in sola lettura) |
| Barrato (~~testo~~) | Sì | Sì |
| Note a piè di pagina ([^1]) | Sì | No |
| Matematica KaTeX ($…$, $$…$$) | Sì | No |
| Diagrammi Mermaid | Non menzionati in /guide | Sì (flowchart, sequence, class, state, ER, journey, gitGraph, timeline, mindmap, gantt, pie) |
| Syntax highlighting nei blocchi fenced | Sì | No (la classe del linguaggio è conservata così puoi sovrapporre tu un highlighter) |
| Editor | ||
| Superficie dell'editor | Monaco (caricato da cdn.jsdelivr.net) | CodeArea (custom, leggero, stessa origine) |
| Multi-cursore, find / replace, autocompletamento | Sì (Monaco) | No |
| Keybinding Vim / Emacs | Sì | No |
| Apertura file con drag-and-drop | Sì (Markdown / HTML / immagine) | No |
| Scroll-sync tra editor e preview | Sì | Modalità Split, Edit, Preview (nessuna sincronizzazione continua) |
| Fullscreen / modalità Zen | Modalità Zen | Fullscreen |
| Condivisione e persistenza | ||
| Persistenza delle bozze | localStorage nel browser | localStorage nel browser |
| Sync con GitHub / Dropbox / Drive / OneDrive / Bitbucket | Sì (OAuth) | No |
| Account / login | Richiesto per il sync cloud | Nessuno (no backend) |
| Copia dell'HTML renderizzato | Export su file HTML stilizzato | Bottone Copy HTML (negli appunti) |
| Export PDF | Sì, reso lato server | Sì, solo browser |
| Postura runtime | ||
| Pagina statica (no backend) | No (Next.js 14) | Sì |
| Renderer scritto a mano (nessuna dipendenza da libreria markdown / sanitizer) | No | Sì (~340 righe) |
| Escape HTML su ogni text run | Tramite libreria | Sì (l'HTML grezzo nel sorgente non viene mai passato così com'è) |
Allow-list degli schemi URL (scarta javascript: / data:) | Tramite libreria | Sì (solo http(s), mailto, tel, ancore, percorsi relativi) |
| Sandbox Mermaid | n/d | securityLevel: "strict", cioè niente JS inline, niente foreignObject, nessun fetch di immagini esterne |
Cosa ha l'editor di TaskKit che Dillinger non ha
- Diagrammi Mermaid nella preview. I blocchi fenced
```mermaidvengono renderizzati in SVG inline. Undici tipi di diagramma funzionano end-to-end. La libreria Mermaid è importata dinamicamente la prima volta che compare un diagramma, così il bundle resta piccolo per chi non ne disegna mai uno. - Export PDF offline. L'intera pipeline (clonare la preview, rasterizzare gli SVG inline in PNG, affettare il canvas off-screen in pagine A4, incorporarle con pdf-lib) gira solo nel browser. Stacca la rete a metà export e il file viene comunque prodotto.
- Renderer scritto a mano con due livelli di sicurezza.
Ogni text run passa attraverso l'escape delle entità HTML prima di
raggiungere il buffer di output (un letterale
<script>nel sorgente diventa<script>, non un tag che esegue). Ogni URL passa per un'allow-list, quindi tutto ciò che è fuori dahttp(s),mailto,tel, ancore e percorsi relativi viene scartato, incluse varianti mixed-case comeJaVaScRiPt:e splicing con caratteri di controllo. - Nessun backend. Non c'è un modello di sessione, né storage di token OAuth, né un percorso server che il documento possa prendere. Caricare la pagina Markdown di TaskKit produce lo stesso insieme di chiamate di rete del resto di TaskKit: gli asset statici, e nient'altro.
Dove Dillinger è più forte
- Sync cloud verso cinque provider. Apri un file da un repo GitHub, modificalo, salvalo di nuovo. Stessa cosa con Dropbox, Drive, OneDrive e Bitbucket. L'editor Markdown di TaskKit non ha nulla di equivalente: quel flusso è "copia l'HTML fuori e incollalo dove vuoi".
- Profondità dell'editor Monaco. Multi-cursore, find / replace su tutto il buffer, autocompletamento intelligente, modalità keybinding vim ed emacs. Se la tua memoria muscolare è "VS Code nel browser", Dillinger ce l'ha.
- Rendering matematico KaTeX. Inline
$…$e block$$…$$. TaskKit oggi non ha matematica. - Note a piè di pagina. Notazione di riferimento
[^1], con la definizione ovunque nel documento. Il renderer di TaskKit non copre ancora le note a piè di pagina. - Passaggio esplicito ad AI. Testo di Dillinger stesso: "Markdown is the native language of large language models. Write in Dillinger, then feed your content directly to ChatGPT, Claude, or any LLM." TaskKit non ha un bottone per questo.
Quando scegliere Dillinger
- Hai bisogno di aprire e salvare file su GitHub, Dropbox, Drive, OneDrive o Bitbucket direttamente dall'editor.
- Hai bisogno del rendering matematico KaTeX.
- Hai bisogno delle note a piè di pagina.
- Vuoi la profondità dell'editor Monaco (multi-cursore, autocompletamento, modalità vim).
Per tutto il resto (stendere un README, vedere la preview di una descrizione PR, scrivere un documento con diagrammi Mermaid, esportare un PDF che non lascia mai il tab) l'editor Markdown di TaskKit è la scelta migliore.
Cosa TaskKit lascia fuori deliberatamente
- Sync cloud. Un bottone "Save to GitHub" è ottimo per la UX. Richiede però un backend, token OAuth conservati da qualche parte e un modello di sessione. La postura di TaskKit è "no backend"; incollare l'HTML renderizzato o scaricare un PDF è il percorso di export.
- Syntax highlighting nei blocchi fenced. Un
highlighter vero (Prism, highlight.js, Shiki) sono da 50 a 500 KB
spediti a ogni pagina. L'abbiamo escluso per tenere piccolo il
bundle. Il tag del linguaggio diventa comunque un nome di classe
(
language-js), così puoi sovrapporre tu un highlighter sull'HTML copiato, se ti serve. - Affordance integrate di "invia a LLM". Far andare la tua bozza a un LLM è un'azione concreta con conseguenze concrete. L'editor è il posto sbagliato per nasconderla dietro un bottone.
- Testo selezionabile nel PDF esportato. L'export rasterizza la preview, il che dà fedeltà di stile perfetta al costo del testo selezionabile. Per testo vettoriale servirebbe un motore di layout diverso.
Prova gli strumenti Markdown di TaskKit
Editor Markdown
CommonMark + tabelle GFM, barrato, task list, diagrammi Mermaid e un export PDF vero. Nulla lascia il tab.
Diff Checker
Confronta due bozze Markdown affiancate, in locale.
Metodologia
Testato il 2026-05-16 in Chrome con profilo pulito e cache cancellata,
nessuna estensione attiva che filtra le richieste. I conteggi di rete
sono presi dal log delle richieste del browser a freddo su
https://dillinger.io/, prima di qualsiasi interazione. I
controlli sui tracker hanno interrogato direttamente window.ga,
window.gtag, window.dataLayer e
window.google_tag_manager. La lunghezza della coda
_bsa è stata letta da window._bsa_queue. La
citazione "PDF export Available Server-rendered" arriva dal documento
di benvenuto pubblicato nella home page. Gli endpoint di sync cloud e
lo stack Next.js 14 / Monaco sono documentati nella pagina
/features dello strumento stesso e nel repository
joemccann/dillinger.
Le affermazioni su TaskKit vengono dal renderer Markdown in
src/lib/dev/markdown.ts e dal componente dello strumento in
src/components/dev/MarkdownTool.tsx. La matrice sarà
ricontrollata quando uno dei due strumenti cambierà in modo
rilevante.
Dillinger è un marchio del rispettivo titolare. Questa pagina non è affiliata né sostenuta da Dillinger.