Site personnel d'Antoine Aubé


Gemtext-mode.el

Gemtext-mode est un mode de Emacs pour le support du Gemtext, le format de document privilégié avec le protocole Gemini. C’est un logiciel libre, sous licence GNU GPLv3.

Vous pouvez trouver son code source sur Sourcehut.

Fonctionnalités

À l’image du format Gemtext, ce mode est très simple. Ses fonctionnalités sont les suivantes :

Historique

À l’origine, j’éditais mes fichiers Gemtext avec le mode Gemini-mode. C’est un mode accessible car il fait partie de MELPA. Cependant, je lui trouve quelques inconvénients :

C’est ce troisième point qui m’ennuyait particulièrement (j’écrivais un texte avec plusieurs extraits de code…). J’ai donc voulu contribuer à Gemini-mode pour le corriger. C’était mes premier pas dans l’édition d’un mode pour Emacs ! Une expérience que je recommande, car j’ai appris plein de choses en étudiant Org-mode et Markdown-mode. Le soucis que j’ai identifié est le suivant : le coloriage de la syntaxe dans Gemini-mode est basé sur des expressions régulières, ce qui explique la confusion du mode quant aux délimitations d’un bloc. Pour résoudre le bogue, j’ai emprunté l’idée de Markdown-mode : analyser la syntaxe du texte pour y affecter des propriétés, et baser la coloration de la syntaxe sur ces propriétés. Or, je suis très vite arrivé à un code qui n’avait plus rien à voir avec celui de Gemini-mode, j’ai donc débuté un paquetage à part ! Et j’en ai profité pour intégrer tout ce qu’il me manquait. :-)

J’ai soumis Gemtext-mode à MELPA, et après quelques jours il a été accepté ! Il fait donc maintenant partie de ce dépôt.

Installation

Il y a deux façons d’installer Gemtext-mode : l’installer depuis MELPA, ou l’installer manuellement.

Installer depuis MELPA

Il vous faut d’abord configurer Emacs pour qu’il cherche des paquetages dans MELPA. Si ce n’est pas déjà le cas, vous pouvez procéder en ajoutant ces lignes à votre configuration :

(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)

Ensuite, il suffit d’installer Gemtext-mode comme n’importe quel paquetage :

(package-install 'gemtext-mode)
(require 'gemtext-mode)

Installer manuellement

Commencez par télécharger une version du fichier gemtext-mode.el sur le dépôt Git, et sauvegardez le là où votre installation de Emacs pourra le trouver (il faut vérifier votre variable load-path !). Pour ma part, je le sauvegarde dans le dossier ~/.emacs.d/custom/, et j’ajoute ce dossier comme source de scripts Elisp :

(add-to-list 'load-path "~/.emacs.d/custom/")

Ensuite, il vous suffit d’ajouter ces lignes à votre configuration de Emacs :

(autoload 'gemtext-mode "Gemtext"
  "Major mode for Gemtext-formatted text." t)
(add-to-list 'auto-mode-alist '("\\.gmi\\'" . gemtext-mode))