mandoc (históricamente llamado mdocml ) es una utilidad que se utiliza para formatear páginas man en sistemas operativos BSD (por ejemplo, NetBSD ), específicamente aquellas escritas en los lenguajes de macros mdoc y man . A diferencia de groff y las herramientas más antiguas troff y nroff, que son utilizadas predominantemente para este propósito por herramientas como , mandoc se centra específicamente en manuales y no es adecuado para la composición tipográfica de propósito general .man
mandocSe 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 Linux , así como un subconjunto de comandos roff ocasionalmente intercalados con las macros man . [ 2 ] [ 1 ] : 1.14.5 No admite otros conjuntos de macros como mm y ms , ni ninguna característica de composición tipográfica como la división de palabras, las fuentes y la alineación. [ 2 ] : compatibilidad Se admiten estilos simples como negrita y cursiva, pero el texto en cursiva se reemplaza por texto subrayado en la 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 usar la información semántica de los manuales mdoc para implementar la búsqueda semántica , que antes de la versión 1.4.1, dependía de sqlite . [ 1 ] : 1.4.1
Historia
El desarrollo comenzó en noviembre de 2008 específicamente para producir formas HTML de manuales habilitadas para CSS en respuesta a las limitaciones de groff . mandoc obtuvo la salida inicial en modo texto en febrero de 2009. [ 5 ] Luego se presentó en AsiaBSDCon-2009. [ 6 ] [ 7 ] [ 8 ] En el verano de 2010, mandoc fue el tema de un proyecto de Google Summer of Code con tutoría de NetBSD [ 9 ] para producir salida PostScript y PDF junto con las salidas de texto, HTML y XHTML existentes . 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 ] Posteriormente se convirtió en el formateador predeterminado en NetBSD , FreeBSD , illumos , Void Linux , Alpine Linux y macOS , y también está incluido en DragonFlyBSD , MINIX 3 , Debian , Ubuntu , Gentoo y Fedora . [ 13 ] Sus ventajas se mencionaron como alta velocidad, [ 14 ] licencia y reimplementación limpia.
Ejemplo de uso
A continuación se muestra cómo se ejecuta mandocde forma independiente. Normalmente, se llamaría mediante la utilidad man . En este ejemplo, foo.1es el nombre de un manual UNIX mdoc . [ 15 ]
$ # Página manual en la terminal. $ mandoc -l foo.1 $ # Salida HTML con una hoja de estilos. $ mandoc -Thtml -Ostyle = style.css >foo.1.html Los manuales multibyte (localizados) también pueden renderizarse sin preprocesamiento. En este ejemplo, foo.jp.1se trata de un manual en japonés codificado en UTF-8 . mandoc detectará automáticamente la codificación. [ 15 ]
$ # Página del manual de caracteres anchos en la terminal. $ mandoc -l foo.jp.1 La implementación apropos incluida puede utilizar información semántica en la búsqueda: [ 16 ]
$ # Buscar todas las funciones que comiencen con 'str' y tengan un tipo de retorno size_t: $ apropos -s 3 Ft = size_t -a Nm~^str Otras características
Referencias
- 1 2 3 "Notas de la versión" . 23 de septiembre de 2021.
- 1 2 – Manual de información miscelánea de OpenBSD
- ↑ "Cursiva y color en las páginas del manual en una terminal virtual de espacio de usuario de nosh" . jdebp.eu .
- ↑ – Manual de comandos generales de FreeBSD . "Los estilos de fuente se aplican mediante codificación con retroceso..."
- ↑ "Historial de origen" . Mdocml.bsd.lv . Consultado el 18 de diciembre de 2010 .
- ↑ "AsiaBSDCon 2009: Se desaconseja el uso de groff para la visualización manual de BSD" . 2009.asiabsdcon.org. 15 de marzo de 2009. Consultado el 18 de diciembre de 2010 .
- ↑ "Descontinuación de groff para la visualización manual de 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 .
- ↑ "NetBSD Blog" . Blog.netbsd.org. 11 de agosto de 2010. Consultado el 18 de diciembre de 2010 .
- ↑ "OpenBSD 4.8" . Openbsd.org. 1 de noviembre de 2010. Consultado el 18 de diciembre de 2010 .
- ↑ "groff eliminado del árbol" .
- ↑ "Disponibilidad del conjunto de herramientas mandoc" . Mdocml.bsd.lv.
- ↑ Unangst, Ted. "Comparativas de velocidad de Mandoc" .
- 1 2 3 – Manual de comandos generales de OpenBSD
- ↑ – Manual de comandos generales de OpenBSD
- ↑ – Manual del administrador del sistema OpenBSD
Enlaces externos
- repositorio de código fuente de mandoc
- Páginas de manual en línea de OpenBSD , generadas por el programa man.cgi de mandoc.
- Artículo sobre los no muertos en Mandoc
- Sitio del proyecto mandoc_ps de Google Summer of Code : trabajo en la compatibilidad con PostScript.
- Página de código gratuito para mandoc - utilizada hasta la versión 1.12.2
- Software BSD
- Software OpenBSD que utiliza la licencia ISC.