Markdown reso
dall’editor, non da una vista web.

Un’anteprima di solito è un browser dentro un pannello: una vista web, un foglio di stile e un motore di rendering che non hanno nulla a che fare con l’editor attorno. Qui il plugin restituisce una descrizione del documento e Linelark ne disegna ogni pixel nello stesso SwiftUI del resto dell’app.

Studio 1.17.1 · macOS 14+8.5 MB da scaricare
Linelark Studio che mostra un file Markdown disegnato come documento al posto del suo sorgente
Un documento reso al posto del sorgenteStudio 1.17.1 · macOS 14+

Perché una descrizione invece di HTML.

Dare una vista web a un plugin renderebbe facili le anteprime e renderebbe impossibili altre tre cose: la fedeltà al tema, una posizione di lettura che sopravvive al passaggio, e la garanzia che un documento non possa raggiungere la rete mentre lo si legge.

01

Il pulsante compare solo se qualcosa sa rendere

L’interruttore Anteprima (⇧⌘V, o Vista ▸ Anteprima) è attivo per un documento che un plugin installato ha rivendicato per estensione o per linguaggio, e disattivato altrimenti. Non propone mai un rendering che nessuno sa produrre.

02

Ogni blocco porta la sua posizione nel sorgente

È ciò che ti mantiene il segno attraverso il passaggio, in entrambe le direzioni: reso a partire dal paragrafo che stavi modificando, e ritorno alla riga dove cominciava il blocco che stavi leggendo.

03

L’anteprima appartiene al riquadro, non al file

Lo stesso file può quindi essere sorgente in una suddivisione e reso nell’altra, che è la disposizione che quasi tutti vogliono mentre scrivono.

04

Il tema è quello dell’app

Perché i blocchi sono disegnati dalle stesse viste dei pannelli integrati. Non c’è un secondo foglio di stile da tenere al passo con Chiaro, Scuro e i cinque temi.

05

Un’anteprima non può andare a prendere nulla

Nel percorso di rendering non c’è né un documento, né un motore di script, né un caricatore di fogli di stile. Un file Markdown che rimanda a un’immagine remota non può provocare una richiesta.

06

Il rendering è limitato, non illimitato

L’analizzatore gira interpretato in JavaScriptCore, quindi il motore Markdown di esempio si limita a 256 KB invece di far arrancare l’editor a ogni tasto premuto in un documento molto grande.

I blocchi di cui può essere fatta un’anteprima.

Un plugin sceglie da questo vocabolario. Un tipo di nodo che l’app non riconosce viene saltato invece che disegnato male, ed è per questo che un plugin dichiara la generazione di API per cui è stato scritto.

NodoDisegnato come
TitoloUn titolo nel tema dell’app, a uno dei livelli del documento.
ProsaUn paragrafo con enfasi, grassetto, codice e collegamenti in linea.
Blocco di codiceA spaziatura fissa, nel carattere dell’editor, con l’etichetta del suo linguaggio.
CitazioneUn blocco rientrato con una linea sul lato.
ElencoOrdinato o no, annidato.
TabellaUna tabella nativa con colonne allineate.
LineaUn separatore orizzontale.

Letto nel codice pubblicato di Linelark Studio 1.17.1, non nella sua documentazione. Quando i due non concordano, è questo che viene rilasciato.

Cosa un’anteprima non è.

È una vista di lettura disegnata dall’editor. Diverse cose che un’anteprima basata su browser darebbe gratis sono davvero assenti.

  • Il codice dentro un’anteprima non è coloratoL’analizzatore lessicale dipinge un NSTextStorage, e un blocco di anteprima è un AttributedString. Un blocco delimitato è a spaziatura fissa e leggibile; non è colorato.
  • Nulla in un’anteprima è modificabileTorna al sorgente per scrivere. La barra di ricerca cerca nella vista di testo dietro l’anteprima, quindi ⌘F durante un’anteprima segna occorrenze che nessuno vede.
  • Si rende per intero, quando il testo si assestaNon mentre scrivi. Su un documento grande è una pausa visibile invece di un aggiornamento dal vivo, ed è per questo che il plugin di esempio si ferma a 256 KB.
  • L’ancora di scorrimento è per blocco, non per rigaTornare al sorgente ti porta alla riga dove cominciava il blocco. Un blocco annidato che un plugin non sa collocare non porta alcuna posizione e non viene raggiunto dallo scorrimento.
  • Un’anteprima viene da un pluginNulla rende il Markdown finché non installi qualcosa che lo faccia. In Studio è il catalogo; nell’edizione App Store è un bundle che installi da un file.
  • Né esportazione, né stampa della vista resaStampa (⌘P) stampa il testo sorgente. Non c’è alcuna uscita PDF né HTML da un’anteprima.

Aprilo sui tuoi
file.

Notarizzato da Apple, macOS 14 e versioni successive, Intel e Apple silicon.

Scarica Studio 1.17.1 8.5 MB · tutte le versioni, con le loro impronte