Les éditeurs

L'éditeur est l'endroit où vous passez votre temps dans Caliu, c'est donc lui qui reçoit le plus de soin. Chaque app a son propre éditeur, construit sur la technologie de texte de sa plateforme, et tous partagent une même promesse : ce qui est stocké est du Markdown brut, et ce que vous voyez est ce Markdown, mis en forme sur place pendant que vous tapez.

Une boucle, trois éditeurs

Chaque éditeur Caliu fait les trois mêmes choses :

  1. Lire le Markdown de la note et en dégager la structure : titres, listes, tâches, citations, code, tableaux.
  2. Afficher cette structure sous forme de texte mis en forme, en masquant la syntaxe jusqu'à ce que vous en ayez besoin.
  3. Écrire vos modifications en Markdown, le même texte brut que n'importe quelle autre app Markdown sait lire.

Ouvrir une note ne la modifie jamais. Une note ne change que lorsque vous la modifiez, si bien que la lire sur un autre appareil ne la réécrit jamais dans votre dos.

Sur le web : ProseMirror

L'éditeur web est construit sur Tiptap, qui repose sur ProseMirror, une boîte à outils d'édition de texte enrichi dans le navigateur utilisée par de nombreux outils d'écriture connus. Les blocs de code sont colorés par Shiki, le même surligneur que celui de nombreux éditeurs de code.

Sur iPhone, iPad et Mac : le système de texte d'Apple

L'éditeur Apple est construit directement sur la vue de texte native d'Apple (UITextView sur iPhone et iPad, NSTextView sur Mac) et sur TextKit, le moteur de texte des propres apps d'Apple. Le Markdown est lu avec la bibliothèque swift-markdown d'Apple, qui suit la même spécification que GitHub, et réécrit en respectant vos choix d'origine : si vous avez écrit *italic* plutôt que _italic_, cela reste ainsi.

Toute la note est une seule vue de texte continue. C'est ce qui rend naturels la sélection, le défilement et l'édition d'un paragraphe à l'autre. Ce qui n'est pas du texte brut, comme les tableaux et les blocs de code, est dessiné dans des vues à part, posées par-dessus le texte.

Sur Android : le champ de texte de la plateforme

L'éditeur Android est construit sur le champ de texte propre à Android, mis en forme pendant que vous tapez. Le Markdown est lu avec commonmark-java et vérifié par rapport à la même référence que l'app Apple. Des centaines de documents d'exemple doivent ressortir de l'éditeur Android exactement comme ils y sont entrés, comme sur les appareils Apple.

Pourquoi le texte natif compte

L'édition de texte est l'une des choses les plus difficiles à bien faire pour une app. En s'appuyant sur le moteur de texte de chaque plateforme au lieu d'en réinventer un, Caliu profite de tout ce que votre appareil sait déjà faire : correction automatique et vérification orthographique, dictée, méthodes de saisie pour le japonais, le chinois et le coréen, lecteurs d'écran comme VoiceOver et TalkBack, et les poignées de sélection et raccourcis dont vous avez l'habitude.

Voir le Markdown

Quand vous voulez voir ce qui est vraiment stocké, passez en mode source. Il affiche le Markdown brut, chaque # et chaque * compris, et vous pouvez aussi le modifier là. Voyez l'article « Mode source ».