Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

mandoc (исторически называемый mdocml ) - это лицензированная ISC утилита для форматирования страниц руководства, в частности тех, которые написаны на языках макросов mdoc и man . В отличии от Грофф и старых TROFF и Nroff инструментов в основном используется для этой цели, mandoc уделяет особое внимание руководства и не подходят для общего назначения наборного .

mandoc в основном используется для форматирования руководств по mdoc, используемых в операционных системах BSD , но он также реализует большинство макросов man, используемых в дистрибутивах Linux , а также подмножество команд roff, иногда смешанных с макросами man . [2] [1] ( 1.14.5 ) Он не поддерживает другие наборы макросов, такие как мм и мс , или какие-либо функции набора, такие как расстановка переносов, шрифты и выравнивание. [2] ( совместимость )Поддерживаются простые стили, такие как полужирный и курсив, но текст, выделенный курсивом, заменяется подчеркнутым текстом на терминале. [3] [4]

mandoc имеет встроенную поддержку Troff soelim (включение) препроцессором и частичное встроенную поддержку для TBL и уравнения . Он имеет сильную поддержку вывода UTF-8. Он также может использовать семантическую информацию в руководствах по mdoc для реализации семантического поиска , который до версии 1.4.1 полагался на sqlite . [1] ( 1.4.1 )

История [ править ]

Разработка началась в ноябре 2008 года специально для создания HTML- форм руководств с поддержкой CSS в ответ на ограничения groff . Первоначально mandoc вышел в текстовом режиме в феврале 2009 года. [5] Затем он был продемонстрирован на AsiaBSDCon-2009. [6] [7] [8] В лето 2010, mandoc был предметом NetBSD -mentored Google Лето кода проекта [9] для получения PostScript и PDF вывода наряду с существующим текстом, HTML и XHTML выходов. Эта работа была завершена в августе 2010 года. [10] mandoc стал средством форматирования руководств по умолчанию для OpenBSD 4.8, выпущенного в ноябре 2010 года. [11] [12] Позже он стал средством форматирования по умолчанию в NetBSD , FreeBSD , illumos , Void Linux и Alpine Linux , а также включен в DragonFlyBSD , MINIX 3 , Debian , Ubuntu , Gentoo и Fedora . [13] Его преимущества были заявлены как высокая скорость, [14] лицензия и чистая реализация.

Пример использования [ править ]

Следующее демонстрирует mandocсамостоятельный запуск . Обычно он вызывается с помощью утилиты man . В этом примере foo.1это имя руководства по mdoc UNIX. [15]

 # Страница руководства к терминалу. $ mandoc -l foo.1 # Вывод HTML с таблицей стилей.  $ mandoc -Thtml -Ostyle = style.css> foo.1.html

Многобайтовые (локализованные) руководства также могут отображаться без предварительной обработки. В этом примере foo.jp.1- руководство на японском языке в кодировке UTF-8 . mandoc автоматически определит кодировку. [15]

 # Страница руководства для широких символов к терминалу. $ mandoc -l foo.jp.1

Включенная реализация apropos может использовать семантическую информацию в поиске: [16]

 # Искать все функции, начинающиеся с 'str', имеющие тип возвращаемого значения size_t: $ apropos -s 3  Ft = size_t -a Nm ~ ^ str

Другие особенности [ править ]

  • mandoc поддерживает вывод HTML 5, PostScript и PDF через -Tпараметр. [15]
  • man.cgi - это программа CGI, предназначенная для отображения справочных страниц в сети. OpenBSD использует его для форматирования всех своих справочных страниц. [17]

Ссылки [ править ]

  1. ^ a b c «Примечания к выпуску» . 10 марта 2019.
  2. ^ a b roff(7)  -  Руководство по разной информации OpenBSD
  3. ^ «Курсив и цвет на страницах руководства виртуального терминала nosh в пользовательском пространстве» . jdebp.eu .
  4. ^ mandoc(1)  -  Руководство по основным командам FreeBSD . «Стили шрифтов применяются с использованием кодировки с обратным интервалом ...»
  5. ^ «Источники истории» . Mdocml.bsd.lv . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  6. ^ «AsiaBSDCon 2009: прекращение поддержки groff для ручного отображения BSD» . 2009.asiabsdcon.org. 2009-03-15 . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ «Прекращение поддержки groff для ручного отображения BSD» (PDF) . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  8. ^ "Видео презентации AsiaBSDCon" . Youtube.com . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  9. ^ "Google Summer of Code: mandoc_ps" . Netbsd-soc.sourceforge.net . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  10. ^ "Блог NetBSD" . Blog.netbsd.org. 2010-08-11 . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  11. ^ "OpenBSD 4.8" . Openbsd.org. 2010-11-01 . Проверено 18 декабря 2010 . CS1 maint: обескураженный параметр ( ссылка )
  12. ^ "Грофф удален из дерева" .
  13. ^ "Доступность набора инструментов mandoc" . Mdocml.bsd.lv.
  14. ^ Unangst, Тед. "Тесты скорости мандока" .
  15. ^ a b c mandoc(1)  -  Руководство по основным командам OpenBSD
  16. ^ apropos(1)  -  Руководство по основным командам OpenBSD
  17. ^ man.cgi(8)  -  Руководство администратора системы OpenBSD

Внешние ссылки [ править ]

  • Набор инструментов компилятора man-страницы mandoc UNIX
  • Онлайн-справочные страницы OpenBSD , созданные программой mandoc man.cgi
  • Неживая статья о мандоке
  • Сайт проекта Google Summer of Code mandoc_ps - работа над поддержкой PostScript
  • Страница Freecode для mandoc - использовалась до 1.12.2