--- categories: ['OpenBSD','Système','Base'] date: 2018-12-28T01:35:16+01:00 description: "Astuces pour ouvrir les manpages aux formats HTML, MarkDown, PDF, PS grâce à Mandoc sous OpenBSD" draft: false tags: ['Mandoc','OpenBSD'] title: "Mandoc : ouvrir les manpages aux formats html, markdown, pdf, ps (OpenBSD)" translationKey: 'openbsd-mandoc' --- ## Description Lire les manpages n'est pas forcément agréable, voire aisé - heureusement il est possible avec des outils natifs à OpenBSD de les agrémenter pour en faire une sortie html, markdown, pdf, postscript puis de les lire dans un lecteur adéquat. De petites fonctions pertinentes à se rajouter dans son `~/.kshrc` qui utilisent principalement l'outil `mandoc`. {{% note tip %}} Créer un fichier `.fonctions` dans votre répertoire personnel, et sourcez-le dans votre `.kshrc` personnel - *pas besoin de le rendre exécutable* ;) {{% /note %}} Dans tous les cas, il est possible de modifier à souhait la variable `editor` : ## Fonction man2html Testé avec **firefox**, **links+**. {{< code "sys-openbsd-mandoc-man2html" sh >}} ### Utilisation `man2html nom-manpage numero-section-manpage` - s'il n'y a pas de numéro de section, alors la fonction essaye d'appeler le manpage de la section 1. Exemple : `$ man2html man` ## Fonction man2md Testé avec **geany** {{< code "sys-openbsd-mandoc-man2md" sh >}} ### Utilisation `man2md nom-manpage numero-section-manpage` - s'il n'y a pas de numéro de section, alors la fonction essaye d'appeler le manpage de la section 1. Exemple : `$ man2md hostname.if 5` ## Fonction man2pdf Testé avec **evince**. {{< code "sys-openbsd-mandoc-man2pdf" sh >}} ### Utilisation `man2pdf nom-manpage numero-section-manpage` - s'il n'y a pas de numéro de section, alors la fonction essaye d'appeler le manpage de la section 1. Exemple : `$ man2pdf man.conf 5` ## Fonction man2ps Testé avec **gs**, **ghostview** {{< code "sys-openbsd-mandoc-man2ps" sh >}} ### Utilisation `man2ps nom-manpage numero-section-manpage` - s'il n'y a pas de numéro de section, alors la fonction essaye d'appeler le manpage de la section 1. Exemple : `$ man2ps dhclient 8` ## Fonction man2doc LA fonction qui réunit toutes les précédentes !!! {{< code "sys-openbsd-mandoc-man2doc" sh >}} ### Utilisation À la différence des précédentes fonctions, cette dernière cherchera tous les manpages correspondants, et les incluera les uns à la suite des autres… `man2doc format-fichier nom-manpage numero-section-manpage`. * `format-fichier` : `html`, `md`, `pdf`, ou `ps` * Toujours si le numéro de section n'est pas spécifié, la fonction cherchera dans la section 1. Exemples : * `$ man2doc html man` * `$ man2doc pdf doas.conf 5` * `$ man2doc md makewhatis 8` * `$ man2doc ps vmm 4` ------------------------------------------------------------------------ *Inspiré par [Mi@mondo](https://miamondo.org/2018/12/24/ouvrir-les-pages-man-directement-dans-son-editeur-pour-un-meilleur-confort-de-lecture/)* ------------------------------------------------------------------------