Skip to content

Grafica SVG

VMark fornisce supporto di prima classe per SVG — Scalable Vector Graphics. Ci sono due modi per usare SVG nei tuoi documenti, ognuno adatto a un flusso di lavoro diverso.

MetodoMigliore PerSorgente Modificabile?
Incorporamento immagine (![](file.svg))File SVG statici su discoNo
Blocco di codice (```svg)SVG inline, grafica generata dall'IA

Incorporamento SVG come Immagine

Usa la sintassi standard delle immagini Markdown per incorporare un file SVG:

markdown
![Diagramma architettura](./assets/architecture.svg)

Funziona esattamente come le immagini PNG o JPEG — trascina e rilascia, incolla o inserisci tramite la barra degli strumenti. I file SVG vengono riconosciuti come immagini e renderizzati inline.

Quando usarlo: Hai un file .svg (da Figma, Illustrator, Inkscape o uno strumento di design) e vuoi visualizzarlo nel tuo documento.

Limitazioni: L'SVG viene renderizzato come immagine statica. Non puoi modificare il sorgente SVG inline e non appaiono controlli di pan+zoom o esportazione.

Blocchi di Codice SVG

Racchiudi il markup SVG grezzo in un blocco di codice delimitato con l'identificatore di linguaggio svg:

markdown
```svg
<svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
  <rect width="200" height="100" rx="10" fill="#4a6fa5"/>
  <text x="100" y="55" text-anchor="middle" fill="white"
        font-size="18" font-family="system-ui">Hello SVG</text>
</svg>
```

L'SVG viene renderizzato inline — proprio come i diagrammi Mermaid — con controlli interattivi.

Esclusivo di VMark

Né Typora né Obsidian supportano i blocchi di codice ```svg. Questa è una funzionalità esclusiva di VMark, progettata per i flussi di lavoro IA in cui gli strumenti generano visualizzazioni SVG (grafici, illustrazioni, icone) che non si adattano alla grammatica di Mermaid.

Quando Usare i Blocchi di Codice

  • Grafica generata dall'IA — Claude, ChatGPT e altri strumenti IA possono generare grafici, diagrammi e illustrazioni SVG direttamente. Incolla l'SVG in un blocco di codice per renderizzarlo inline.
  • Creazione SVG inline — Modifica il sorgente SVG direttamente nel tuo documento e vedi i risultati in tempo reale.
  • Documenti autonomi — L'SVG vive all'interno del file Markdown, senza dipendenze da file esterni.

Modifica in Modalità WYSIWYG

In modalità Rich Text, i blocchi di codice SVG vengono renderizzati inline automaticamente.

Entrare in Modalità Modifica

Fai doppio clic su un SVG renderizzato per aprire l'editor sorgente. Appare un'intestazione di modifica con:

PulsanteAzione
CopiaCopia il sorgente SVG negli appunti
Annulla (X)Annulla le modifiche ed esci (anche Esc)
Salva (segno di spunta)Applica le modifiche ed esci

Un'anteprima live sotto l'editor si aggiorna mentre digiti, così puoi vedere le tue modifiche in tempo reale.

Pan e Zoom

Passa il mouse su un SVG renderizzato per rivelare i controlli interattivi:

AzioneCome
ZoomTieni premuto Cmd (macOS) o Ctrl (Windows/Linux) e scorri
PanFai clic e trascina l'SVG
ResetFai clic sul pulsante reset (angolo in alto a destra)

Questi sono gli stessi controlli di pan+zoom usati per i diagrammi Mermaid.

Esporta come PNG

Passa il mouse su un SVG renderizzato per rivelare il pulsante esporta (in alto a destra, accanto al pulsante reset). Fai clic per scegliere un tema di sfondo:

TemaSfondo
ChiaroBianco (#ffffff)
ScuroScuro (#1e1e1e)

L'SVG viene esportato come PNG a risoluzione 2x tramite la finestra di salvataggio del sistema.

Anteprima in Modalità Sorgente

In modalità Sorgente, quando il cursore è all'interno di un blocco di codice ```svg, appare un pannello di anteprima fluttuante — lo stesso pannello usato per i diagrammi Mermaid.

FunzioneDescrizione
Anteprima liveSi aggiorna immediatamente mentre digiti (nessun debounce — il rendering SVG è istantaneo)
Trascina per spostareTrascina l'intestazione per riposizionare
RidimensionaTrascina qualsiasi bordo o angolo
ZoomPulsanti e +, o Cmd/Ctrl + scroll (dal 10% al 300%)

INFO

L'anteprima del diagramma in modalità Sorgente deve essere abilitata. Attivala con il pulsante Anteprima Diagramma nella barra di stato.

Validazione SVG

VMark valida il contenuto SVG prima del rendering:

  • Il contenuto deve iniziare con <svg o <?xml
  • L'XML deve essere ben formato (nessun errore di analisi)
  • L'elemento radice deve essere <svg>

Se la validazione fallisce, viene mostrato un messaggio di errore SVG non valido invece della grafica renderizzata. Fai doppio clic sull'errore per modificare e correggere il sorgente.

Flusso di Lavoro IA

Gli assistenti IA di codifica possono generare SVG direttamente nei tuoi documenti VMark tramite gli strumenti MCP. L'IA invia un blocco di codice con language: "svg" e il contenuto SVG, che viene renderizzato inline automaticamente.

Prompt di esempio:

Crea un grafico a barre che mostra le entrate trimestrali: Q1 $2.1M, Q2 $2.8M, Q3 $3.2M, Q4 $3.9M

L'IA genera un grafico a barre SVG che viene renderizzato inline nel tuo documento, con pan+zoom ed esportazione PNG disponibili immediatamente.

Confronto: Blocco di Codice SVG vs Mermaid

Funzione```svg```mermaid
InputMarkup SVG grezzoDSL Mermaid
RenderingIstantaneo (sincrono)Asincrono (debounce 200ms)
Pan + Zoom
Esportazione PNG
Anteprima live
Adattamento temaNo (usa i colori propri dell'SVG)Sì (si adatta a tutti i temi)
Migliore perGrafica personalizzata, visual generati dall'IADiagrammi di flusso, diagrammi di sequenza, diagrammi strutturati

Suggerimenti

Sicurezza

VMark sanitizza il contenuto SVG prima del rendering. I tag script e gli attributi degli handler di eventi (onclick, onerror, ecc.) vengono rimossi. Questo protegge dagli attacchi XSS quando si incolla SVG da fonti non attendibili.

Dimensionamento

Se il tuo SVG non include attributi espliciti width/height, aggiungi un viewBox per controllarne il rapporto d'aspetto:

xml
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
  <!-- contenuto -->
</svg>

Qualità di Esportazione

L'esportazione PNG usa una risoluzione 2x per una visualizzazione nitida sugli schermi Retina. Viene aggiunto automaticamente un colore di sfondo solido (l'SVG stesso potrebbe avere uno sfondo trasparente).