Créer des écrans texte à partir de fichiers Markdown

md2hlp est un outil programmé en python qui permet de générer des écrans textes Oric à partir de fichier Markdown (.md). L’outil est très utile pour faire par exemple des man pages sur Orix.

Il fonctionne avec un script python, un fichier de conf et un fichier markdown en entrée. Ci dessous une image générée avec un markdown en entrée.

Le résultat

Le but de l’outil est d’avoir un écran texte généré par un fichier mark down tout en se basant sur un fichier de conf qui définira la mise en forme de l’écran, sans avoir à faire la mise en forme manuellement.

Commençons

Nous allons faire un écran avec un exemple de base (il vous faudra python3. Pour python2, il y a aussi la version du script python dans src/)

$ git clone https://github.com/assinie/md2hlp.git
$ cd md2hlp/src/
$ python md2hlp.py3 -f ../examples/basic11.md -o basic11.hlp

A ce stade, vous obtenez un fichier .hlp. C’est juste un écran texte.

Maintenant, ajoutons un header pour qu’il se charge en $BB80. Il faudra osdk avec le binaire header et spécifier l’adresse $bb80 pour charger le .tap à la bonne adresse texte

Allons plus loin

Nous avons affiché la page avec la configuration par défaut qui est contenue ici : https://github.com/assinie/md2hlp/blob/master/src/md2hlp.cfg

Cette configuration définit comment le programme python doit convertir le fichier .md (c’est une sorte de template)

Cherchons la ligne contenant [Heading1] et remplaçons cette ligne :

Head = __^J ^Q_ORIX 1.0 ^P___

par

Head = __^J ^Q_POUET POUET ^P___

Notez les ^J ^Q etc : Cela correspond aux attributs définis dans le fichier de conf. Si vous cherchez ^J, vous tomberez sur : double_height = ^J

Nous avons défini que le double_height est le contrôle ^J. Ainsi, le titre sera en double hauteur.

paper_red = ^Q indique que ^Q sera le paper en rouge. Ainsi, notre POUET POUET sera également sur fond rouge. Je vous laisse trouver à quoi sert le ^P

Pour finir, il suffit de définir un template qui déterminera ensuite l’apparence de votre fichier .md en sortie sur l’écran texte.

L’outil md2hlp est utilisé pour faire les man pages sur Orix. Nous avons juste à mettre à jour les fichiers md, puis nous lançons md2hlp qui fera le reste. Par exemple, pour Orix, le fichier .hlp doit être placé dans /usr/share/man.

Au lancement de man, il suffira de spécifier en paramètre le fichier hlp déposé dans le répertoire sans le .hlp

Comments

2 responses to “Créer des écrans texte à partir de fichiers Markdown”

  1. JiBe Avatar
    JiBe

    Le rendu est superbe. Et associé à la simplicité du markdown cela fait un superbe outils d’édition documentaire.
    Beau boulot !!

    Concernant l’article, je pense que la partie décrivant l’ajout d’un header mériterait d’être un peu étayée.
    Je vois mal le lien entre le header et la commande man . Comment la commande man sait-elle où est le fichier ?

  2. jede Avatar

    Il n’y a pas vraiment de lien entre le man, le fichier généré et le header. Quand je parle du header, c’est pour ajouter l’adresse du mode texte afin de faire un cload pour voir le résultat affiché.

    S’il faut l’utiliser dans man sur Orix, il faut juste générer l’écran texte sans lancer header. Le fichier .hlp généré doit être mis dans l’arbo /usr/share/man pour que man puisse le trouver.

    Mais, je vais compléter l’article pour que cela soit plus clair

Leave a Reply

Your email address will not be published. Required fields are marked *