Il est en effet possible de poster des billets ou d'éditer des
billets déjà existants directement depuis Emacs, avec quelques
limitations : les billets sont rédigés en HTML (pas de syntaxe Wiki),
il n'est pas possible d'ajouter des images ou des fichiers joints, et
les tags ne sont pas gérés.
Pour cela, nous allons utiliser weblogger.el
et décrire les étapes nécessaires à sa configuration.
Première chose, télécharger les fichiers xml-rpc.el
et weblogger.el
et les placer quelque part dans son load-path.
Ensuite, on modifie son .emacs et on y ajoute :
(require 'weblogger)
Si vous souhaitez que weblogger se souvienne de vos mots
de passe de connexion, vous pouvez également ajouter :
(setq weblogger-save-password t)
Connectez-vous à votre Dotclear, sélectionnez le blog souhaité et
allez sur la page Paramètres du blog. Là, activez l'interface
XML-RPC et notez, en bas de page, les indications données sur
cette interface, notamment l'URL et le numéro d'identifiant.
Retournez ensuite dans Emacs et faites un M-x
weblogger-setup-weblog, et répondez aux questions posées à l'aide
des paramètres donnés par Dotclear. À la fin, donnez un nom à cette
configuration.
Vous pouvez recommencer les deux étapes précédentes si vous
souhaitez éditer plusieurs blogs différents avec
weblogger.
À cette étape vous pouvez utiliser weblogger directement
en faisant M-x weblogger-start-entry par exemple, et en vous
référant aux raccourcis indiqués directement dans le fichier
weblogger.el. En gros, utilisez C-x C-s pour
enregistrer et publier votre nouveau billet, C-c C-p et
C-c C-n pour naviguer parmi les billets déjà existants,
etc. Pour attribuer une catégorie à un billet, vous pouvez l'ajouter
dans le champ Keywords, mais en utilisant le nom interne de
Dotclear (ainsi pour ce billet, j'ai utilisé Linux-debian et
non Linux, Debian, etc..
Comme j'édite plusieurs blogs différents, j'ai créé des fonctions me
permettant de passer facilement de l'un à l'autre (même si ça a l'air
déjà possible avec les fonctions fournies par weblogger.
Par exemple, pour sélectionner le blog Humus numericus, j'ai
créé la fonction ad hoc suivante (en remplaçant la chaîne
"Humus numericus" par le nom donné à la configuration lors de
l'appel à weblogger-setup-weblog) :
(defun jb-hn ()
"Lance Weblogger sur Humus numericus"
(interactive)
(weblogger-select-configuration "Humus numericus")
(weblogger-fetch-entries)
(weblogger-start-entry))
Il suffit alors de faire un M-x jb-hn pour basculer
directement sur un nouveau billet du blog choisi. On peut de la sorte
créer autant de fonctions qu'on a de blogs à éditer...
Mise à jour 2009-06-16 : Depuis peu, j'avais des problèmes
avec weblogger et Dotclear, les billets composés en HTML voyaient les
balises transformées en entités. J'ai résolu la chose en modifiant le
fichier xml-rpc.el, ligne 356, en remplaçant :
`((value nil (string nil ,(url-insert-entities-in-string value))))
Par :
`((value nil (string nil ,value)))