Emacs html-preview


Une simple fonction emacs-lisp qui améliore l'écriture des articles en html en automatisant la prévisualisation comme le fait markdown-preview.

Prévisualisation du code html dans Emacs

Code à ajouter dans init.el ou .emacs


(defun html-preview()
"Like markdown-preview"
  (interactive)
  (save-buffer)
  (setq bname (buffer-name))
  (eww-open-file bname)
  (switch-to-buffer-other-window "*eww*")
  (switch-to-buffer-other-window bname))
	

Raccourcis clavier

La fonction html-preview est arbitrairement associée au raccourcis (s-v) : (global-set-key (kbd "s-v") 'html-preview)

Ne pas confondre :

Ne pas oublier d'évaluer (M-x eval-buffer) le fichier initialisation d'Emacs pour pouvoir utiliser html-preview.

Fonctionnement

Sauvegarde du buffer html pour ne pas avoir à enregistrer puis faire le preview. La fonction récupère le nom du buffer en cours d'utilisation dans la variable bname. Elle l'affiche via la commande eww-open-file. Le buffer *eww* est déplacé dans une autre fenêtre et on revient dans le buffer d'origine pour poursuivre l'édition.

Rafraîchissement de la page

La même fonction permet de rafraichir la page html affichée dans le navigateur eww.

Si on charge une autre page html, alors l'utilisation de html-preview met à jour l'affichage. Si on appuie plusieurs fois sur le raccourcis. On charge la page plusieurs fois mais toujours dans le même buffer *eww*

Améliorations possibles

Quand la page est rafraîchie, l'affichage reprend du début de la page. Il faudrait réafficher au même niveau que le texte d'origine.

La fonction html-preview se lance depuis n'importe quel buffer et peut donner un affichage inattendu. Une amélioration pourrait être de contrôler le type de fichier avant de poursuivre le déroulement de la fonction.