Vincent Tourraine
Blog

Trackup Editor

#trackup

Je cherchais un moyen simple pour gérer à la fois l’historique et la roadmap d’un projet. C’est comme ça que s’est formé « Trackup », un format à base de Markdown que j’utilise maintenant depuis plusieurs mois pour toutes mes applications iOS.

Bien sûr, le format fonctionne parfaitement avec un simple éditeur de texte. Mais pour proposer des choses plus intéressantes, il me fallait une application dédiée.

Icône Trackup Editor
Icône Trackup Editor

Release Notes

Voici donc Trackup Editor. Si vous voulez l’essayer, le code source est disponible sur GitHub, les tests tournent sur Travis. Comme en témoigne ce screenshot, c’est surtout un grand champs texte :

Screenshot Trackup Editor
Screenshot Trackup Editor

(Au passage, le projet Xcode par défaut pour une « document-based application » est fantastique, pour ouvrir ou sauvegarder des fichiers, gérer les fenêtres pour chaque document, etc. ; il suffit littéralement de 2 lignes de code pour faire un éditeur de texte.)

La toolbar ne contient pour l’instant qu’un unique bouton, qui représente donc le seul intérêt d’une telle application. Il s’agit de l’export HTML. On pourrait utiliser un script Markdown classique, mais ici mon objectif est de générer des pages « Release Notes », pour pouvoir les utiliser directement sur le site de l’application en question. Pour cette fonction, j’ignore donc les parties en cours ou à venir, et je produis une petite page HTML avec une section par version, et une liste pour les changements.

Trivial, on est d’accord. Mais le résultat me plaît bien. Vous pouvez voir ce que ça donne sur les pages de 1List ou Comic Book Day, par exemple.

Roadmap

Évidemment, ce ne sont pas les idées qui manquent pour améliorer ce modeste éditeur. Avoir une coloration syntaxique serait pratique, avec éventuellement une pré-visualisation de la structure du document. Il faudrait aussi ajouter quelques options à l’export HTML, avec un CSS particulier, ou des en-têtes et pieds de pages personnalisables.

Le plus pragmatique serait sans doute de proposer une version équivalente en ligne de commande, qui permettrait ainsi d’automatiser la génération des Release Notes, voire même leur mise en ligne. Pour l’écriture des billets de blog à leur sujet, ça restera en mode manuel.