Obsolète : l’astuce ci-dessous était destinée à l’ancienne version du site, basée sur Templeet.
Si l'on essaie de poster tel quel un bout de code dans les commentaires de LinuxFr, faute du support d'une balise <pre>, les indentations disparaissent, sans compter les problèmes avec les signes < et >.
Une solution consiste à préparer votre code avec la commande suivante :
perl -pe 's/^([^t]*)t/$1 . " " x (8 - length($1) % 8)/eg; s/&/&/g; s/((^| ) +)/" " x length($1)/eg; s/</</g; s/>/>/g' code_source > /tmp/pret_a_poster_sur_LinuxFr
Ensuite, il n'y a plus qu'à ouvrir le fichier /tmp/pret_a_poster_sur_LinuxFr avec un éditeur et le copier-coller dans la zone de saisie des commentaires.
La substitution s/^([^t]*)t/$1 . " " x (8 - length($1) % 8)/eg remplace les tabulations par des espaces,
s/&/&/g remplace les esperluettes par leur code HTML,
s/((^| ) +)/" " x length($1)/eg; remplace les espaces de début de ligne et les espaces multiples par des espaces insécables, c'est notamment ce qui permet de sauver les indentations,
s/</</g et s/>/>/g remplacent les signes inférieurs et supérieurs.
À l'essai, un copier-coller depuis Firefox remet bien des espaces normales à la place des espaces insécables.
Si ce n'était pas le cas avec un autre navigateur, il faudrait que le lecteur les reconvertisse avec par exemple :
sed -e 's/xC2?xA0/ /g' fichier_avec_expaces_insecables > fichier_sans_espaces_insecables
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.