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).