mandoc (históricamente llamado mdocml ) es una utilidad con licencia de ISC para formatear páginas de manual , específicamente aquellas escritas en los lenguajes de macros mdoc y man . A diferencia de las herramientas groff y las antiguas troff y nroff que se usan predominantemente para este propósito, mandoc se enfoca específicamente en manuales y no es adecuado para el ajuste de tipos de propósito general .
Versión inicial | Noviembre de 2008 |
---|---|
Lanzamiento estable | 1.14.5 / 10 de marzo de 2019 [1] |
Repositorio | |
Escrito en | C |
Tipo | Tipografía |
Licencia | Licencia ISC |
Sitio web | mandoc |
mandoc se utiliza principalmente para formatear los manuales mdoc utilizados en los sistemas operativos BSD , pero también implementa la mayoría de las macros man utilizadas en las distribuciones de Linux , así como un subconjunto de comandos roff ocasionalmente entremezclados con las macros man . [2] [1] ( 1.14.5 ) No admite otros conjuntos de macros como mm y ms , ni ninguna función de composición tipográfica como guiones, fuentes y alineación. [2] ( compatibilidad ) Se admiten estilos simples como negrita y cursiva, pero el texto en cursiva se reemplaza por texto subrayado en el terminal. [3] [4]
mandoc tiene soporte integrado para el preprocesador troff soelim (inclusión) y soporte integrado parcial para tbl y eqn . Tiene un fuerte soporte para la salida UTF-8. También puede utilizar la información semántica en los manuales de mdoc para implementar la búsqueda semántica , que antes de la versión 1.4.1 se basaba en sqlite . [1] ( 1.4.1 )
Historia
El desarrollo comenzó en noviembre de 2008 específicamente para producir formularios HTML de manuales habilitados para CSS en respuesta a las limitaciones de groff . mandoc obtuvo la salida inicial en modo texto en febrero de 2009. [5] Luego se exhibió en AsiaBSDCon-2009. [6] [7] [8] En verano de 2010, mandoc fue objeto de un NetBSD -mentored Google Summer of Code proyecto [9] para la producción de PostScript y PDF de salida junto al texto existente, HTML y XHTML salidas. Este trabajo se completó en agosto de 2010. [10] mandoc se convirtió en el formateador predeterminado de manuales para OpenBSD 4.8, lanzado en noviembre de 2010. [11] [12] Más tarde se convirtió en el formateador predeterminado en NetBSD , FreeBSD , illumos , Void Linux y Alpine Linux , y también se incluye en DragonFlyBSD , MINIX 3 , Debian , Ubuntu , Gentoo y Fedora . [13] Sus ventajas se establecieron como alta velocidad, [14] licencia y reimplementación limpia.
Uso de muestra
A continuación, se muestra la ejecución mandoc
por sí sola. Por lo general, se llamaría a través de la utilidad man . En este ejemplo, foo.1
es el nombre de un manual mdoc UNIX. [15]
# Página del manual del terminal. $ mandoc -l foo.1 # Salida HTML con una hoja de estilo. $ mandoc -Thtml -Ostyle = style.css> foo.1.html
Los manuales multibyte (localizados) también se pueden reproducir sin preprocesamiento. En este ejemplo, foo.jp.1
es un manual japonés codificado en UTF-8 . mandoc detectará automáticamente la codificación. [15]
# Página de manual de caracteres anchos al terminal. $ mandoc -l foo.jp.1
La implementación apropos incluida puede usar información semántica en la búsqueda: [16]
# Busque todas las funciones que comiencen con 'str' que tengan el tipo de retorno size_t: $ apropos -s 3 Ft = size_t -a Nm ~ ^ str
Otras características
- mandoc admite salida HTML 5, PostScript y PDF a través del
-T
parámetro. [15] - man.cgi es un programa CGI diseñado para mostrar páginas de manual en la web. OpenBSD lo usa para formatear todas sus páginas de manual. [17]
Referencias
- ^ a b c "Notas de la versión" . 10 de marzo de 2019.
- ^ a b - Manual de información miscelánea de OpenBSD
- ^ "Cursiva y color en las páginas del manual en un terminal virtual con espacio de usuario" . jdebp.eu .
- ^ - Manual de comandos generales de FreeBSD . "Los estilos de fuente se aplican mediante codificación con retroceso ..."
- ^ "Historia de la fuente" . Mdocml.bsd.lv . Consultado el 18 de diciembre de 2010 .
- ^ "AsiaBSDCon 2009: desaprobación de groff para visualización manual BSD" . 2009.asiabsdcon.org. 2009-03-15 . Consultado el 18 de diciembre de 2010 .
- ^ "Desaprovechando groff para la visualización manual BSD" (PDF) . Consultado el 18 de diciembre de 2010 .
- ^ "Vídeo de la presentación de AsiaBSDCon" . Youtube.com . Consultado el 18 de diciembre de 2010 .
- ^ "Google Summer of Code: mandoc_ps" . Netbsd-soc.sourceforge.net . Consultado el 18 de diciembre de 2010 .
- ^ "Blog de NetBSD" . Blog.netbsd.org. 2010-08-11 . Consultado el 18 de diciembre de 2010 .
- ^ "OpenBSD 4.8" . Openbsd.org. 2010-11-01 . Consultado el 18 de diciembre de 2010 .
- ^ "groff eliminado del árbol" .
- ^ "Disponibilidad del conjunto de herramientas mandoc" . Mdocml.bsd.lv.
- ^ Desanimado, Ted. "Puntos de referencia de velocidad de mandoc" .
- ^ a b c - Manual de comandos generales de OpenBSD
- ^ - Manual de comandos generales de OpenBSD
- ^ - Manual del administrador del sistema OpenBSD
enlaces externos
- El conjunto de herramientas del compilador de la página de manual de mandoc UNIX
- Páginas de manual en línea de OpenBSD , generadas por el programa man.cgi de mandoc
- Artículo de Undeadly sobre mandoc
- Sitio del proyecto Google Summer of Code mandoc_ps - trabajar en soporte PostScript
- Página de código libre para mandoc - usada hasta 1.12.2