- On critique souvent les pages man en disant qu’« il n’y a pas de liens entre elles » ou que « le texte ne se réorganise pas quand on redimensionne la fenêtre du terminal », mais en réalité le format man lui-même prend en charge les liens et le réagencement du texte
- Le vrai problème, c’est que les outils qui lisent les pages man (
man,less, etc.) n’implémentent pas correctement ces fonctionnalités
Structure du format des pages man
- Les documents man sont principalement écrits dans deux formats :
- mdoc(7) : un format de balisage moderne, fondé sur la sémantique
- man(7) : un ancien format utilisé entre 1979 et 1989
- Exemple (une partie de la syntaxe mdoc) :
.Sh NAME .Nm openrc .Nd stops and starts services for the specified runlevel .Sh SYNOPSIS .Sh,.Nmet.Nddésignent respectivement un en-tête de section, le nom de la commande et sa description- Pour éditer directement ce format, il faut se référer à la liste des macros mdoc
La fonction de référence (liens) est également intégrée
- Le format mdoc inclut les macros de lien suivantes :
.Xr: une référence croisée vers une autre page man.Sx: une référence vers une autre section de la même page- Lors d’une conversion en HTML, elles sont rendues comme de vrais liens, cliquables dans le navigateur
- Les en-têtes de section
.Shsont traités comme des ancres et peuvent servir de destination aux liens.Sx - En revanche, lorsque l’on consulte la page dans le terminal avec la commande
man, cette fonctionnalité de lien ne fonctionne pas
Conclusion : le problème, ce n’est pas le format man, mais le visualiseur
- Aujourd’hui, la commande
manaffiche les pages en les envoyant àless, et cette approche ne permet pas de gérer les liens - La solution serait :
- un nouveau visualiseur de pages capable de comprendre le format man et de prendre en charge les liens
- Ce serait encore mieux s’il implémentait aussi le réagencement automatique du texte (reflow) lors d’un changement de largeur du terminal
Informations de contexte
mdoc(7)est un format introduit dans 4.4BSD dans les années 1990man(7)est un format historique utilisé entre 1979 et 1989, aujourd’hui presque plus employé
6 commentaires
J’ai cliqué après avoir vu seulement la première ligne dans la notification du bot Slack, tant j’étais immédiatement d’accord. Moi aussi, je suis d’accord à 100 % avec l’idée que le vrai problème, c’est le lecteur.
...Cela dit, on dirait bien que les humains modernes n’utilisent ni
man, ni même le terminal.rtfmest devenu un vestige romantique d’une autre époque.Sur macOS, je définis ceci comme ci-dessous et je l'utilise avec
pman ls, par exemple, afin de les consulter en PDF.Super astuce... merci
Merci beaucoup, c’est génial.
Waouh, je ressens tellement la même chose.
man, c’est vraiment excellent quand on sait bien le lire, mais c’est tellement difficile à bien lire...Avis Hacker News