Le mécanisme
Pourquoi une description plutôt que du HTML.
Confier une vue web à un plugin rendrait les aperçus faciles et rendrait trois autres choses impossibles : la fidélité au thème, une position de lecture qui survit à la bascule, et la garantie qu’un document ne peut pas atteindre le réseau pendant qu’on le lit.
01Le bouton n’apparaît que si quelque chose sait rendre
La bascule Aperçu (⇧⌘V, ou Présentation ▸ Aperçu) est active pour un document qu’un plugin installé a revendiqué par extension ou par langage, et désactivée sinon. Elle ne propose jamais un rendu que personne ne sait produire.
02Chaque bloc porte son décalage dans la source
C’est ce qui garde votre place à travers la bascule, dans les deux sens : rendu depuis le paragraphe que vous modifiiez, et retour à la ligne où commençait le bloc que vous lisiez.
03L’aperçu appartient au volet, pas au fichier
Le même fichier peut donc être en source dans une division et rendu dans l’autre, ce qui est la disposition que la plupart des gens veulent en écrivant.
04Le thème est celui de l’app
Parce que les blocs sont dessinés par les mêmes vues que les panneaux intégrés. Il n’y a pas de seconde feuille de style à tenir en phase avec Clair, Sombre et les cinq thèmes.
05Un aperçu ne peut rien aller chercher
Il n’y a ni document, ni moteur de script, ni chargeur de feuille de style dans le chemin de rendu. Un fichier Markdown qui référence une image distante ne peut pas provoquer de requête.
06Le rendu est plafonné, pas illimité
L’analyseur tourne en interprété dans JavaScriptCore : le moteur de rendu Markdown d’exemple se plafonne donc à 256 Ko plutôt que de faire caler l’éditeur à chaque frappe dans un très grand document.