mai 2009 Archives
dimanche 17 mai 2009 14: 15
Comment poster en ssh avec nanoblogger?
Ce billet fait suite au billet du blog
Sociolingus.
Sosiolingus publie un script shell pour automatiser la mise à jour
de son blog depuis une quelconque machine pouvant être connectée en
SSH au serveur de blog, en supposant l'exécutable et le blog tous
deux sur ce serveur. En effet, parmi les options de la ligne de
commande, figure la possibilité d'importer un fichier préalablement
rédigé au format de NB tout en supprimant l'interactivité (donc
exécution directe une fois commande lancée). Le script emploie SCP
pour copier le fichier à traiter sur le serveur distant, puis un
pipe en SSH. Mais il ne prévoit pas de préciser les catégories, ni
le transfert de photos vers le répertoire "images". Ça pourrait se
développer...À noter que les photos peuvent êtres incluses dans le
source d'un fichier HTML si elles sont préalablement surencodées en
base64.
Mais :
Attention à la version de NB ! En effet les options ont beaucoup
changée au fil des versions. Ainsi, l'option "-f" aujourd'hui
signifie tout autre chose : force la mise à jour du cache.
(synonyme de 'update-cache').À la place, on a l'option "import";
tout en précisant si c'est un article ou une entrée. Donc, il est
prudent de vérifier les commandantes de sa version de NB en entrant
"nb --help".
On pourrait transcrire le script de Sociolingus "post2blog.sh" pour
la version actuelle (3.4 RC2) par :
#!/bin/bash for post in $*; do scp $post user@server:~/blog/; echo "nb -b ~/blog/ import entry ~/blog/$post -a entry" | ssh user@server; done
Apparemment l'option "i" pour la non interactivité ne fonctionne pas (bug ?) pour la 3.4 RC2, mais le script s'exécute quand même sans interrruption. Ce dernier point est d'importance pour ceux qui voudraient automatiser la publication de billets à heure fixe (par exemple pour les données météorologiques issues d'un observatoire privé ou les images d'une webcam).