txt2tags : Écrire des documents … simplement

Dans ce billet, je vais vous présenter un logiciel qui ne paye pas de mine, mais qui est terriblement efficace, c’est txt2tags. Son objectif est simple : produire des documents dans différents formats dont les plus utiles sont le HTML et son grand-frère XHTML, LaTeX, à l’aide d’une syntaxe très simple.

Comme expliqué sur le site (anglophone), ce logiciel se veut être le plus simple possible. Pas de configuration, de schéma de données, de foultitudes de logiciels et d’opération, de logiciel d’édition complexe, de commande compliquée pour la mise en page … Pour vous en convaincre, je vous recommande de jeter un oeil à cet aperçu des principales mises en forme possible. D’ailleurs, l’intégralité du site est écrit avec txt2tags et vous avez accès au fichier source en bas de chaque page.

À quoi peut vous servir txt2tags ? En fait, il peut s’avérer très pratique dans plusieurs situations. Pour créer quelques pages web par exemple, pas la peine de se casser les ongles à taper des balises et à vérifier la validité du code, car txt2tags produit du code valide. Moi, je l’utilise régulièrement pour taper des notes. Ça évite de sortir un traitement de texte, il suffit d’avoir un bête éditeur de texte brut, et le fichier stocké est on ne peut plus léger et lisible.

Vous êtes convaincu ? Pour l’installer, demandez à votre gestionnaire de paquets favori d’installer le paquet txt2tags. Pour garantir que le programme est léger, vérifiez : il tient en un seul fichier python ! Il date de 2002, ce qui gage de sa robustesse, et est utilisé par beaucoup de personnes. Pour ne rien gâcher, il est accompagné d’une documentation complète en français.

ktxt2tags

Comme vous l’aurez compris, je suis littéralement tombé amoureux de ce petit logiciel :-) . Et c’est pour ça que j’ai développé une petite interface graphique pour facilement lancer txt2tags sans toucher à la console, et avoir accès aux options de génération. Si vous êtes intéressé, il faudra vous assurer d’avoir les paquets python-qt3 et python-kde3 installés. Ce programme, appelé ktxt2tags, est disponible sur kde-apps. C’est du vite fait, donc soyez indulgents ;-)

KTxt2tags

Intégration dans kate

Coloration syntaxique

Si vous utilisez kate, une coloration syntaxique mettra en évidence les instructions de mise en forme. Cela permet de faciliter la navigation dans votre texte, et en plus de détecter plus facilement des balises qui seraient mal utilisées.

Coloration syntaxique dans kate

Ajout d’un outil externe

Ensuite, vous avez la possibilité d’ajouter un outil externe pour facilement compiler votre document. Pour cela, il faut que le système de plugins pour Kate soit installé (paquets kate-plugins). Ensuite, dans la configuration de Kate, la section «Outils externes» permet de pouvoir lancer des «outils externes» depuis l’éditeur, en utilisant si besoin est des informations contextuelle (fichier en cours d’édition, texte sélectionné, …). Vous obtiendrez plus d’informations dans l’aide de Kate.

Par exemple, vous pouvez simplement créer un outil externe qui compile votre document courant avec la commande :
cd %directory; txt2tags %filename

En cas d’erreur, il serait intéressant d’obtenir les messages d’erreur, le script devient alors :
cd %directory; RESULT=`txt2tags %filename 2>&1 >/dev/null` || kdialog --error "$RESULT"
Ainsi, en cas d’erreur, une boîte de dialogue affiche le message de sortie de txt2tags.

Enfin, si vous voulez surveiller le rendu html de votre document à l’aide de Konqueror, le script suivant se chargera de recharger automatiquement la fenêtre de konqueror qui affiche votre document :
cd %directory; FILE=`echo %filename | sed -e 's/\.t2t//'`; RESULT=`txt2tags %filename 2>&1 >/dev/null` && for K in `dcop konqueror-*`; do for W in `dcop $K konqueror-mainwindow#*`; do dcop $K $W currentURL | grep "$FILE" > /dev/null && dcop $K $W reload; break; done; done || kdialog --error "$RESULT"

WordPress database error: [Table 'bobuse.wp2_comments' doesn't exist]
SELECT * FROM wp2_comments WHERE comment_post_ID = '42' AND comment_approved = '1' ORDER BY comment_date

Laisser un commentaire