Мандок
Первоначальный выпуск | ноябрь 2008 г. |
---|---|
Стабильная версия | 1.14.6
/ 23 сентября 2021 г [1] |
Репозиторий | |
Написано в | С |
Тип | верстка |
Лицензия | лицензия ISC |
Веб-сайт | Мандок |
mandoc (исторически называемая mdocml ) — это утилита, используемая для форматирования man-страниц в операционных системах BSD (например, NetBSD ), особенно в тех, которые написаны на mdoc и man макроязыках . В отличие от groff и более старых инструментов troff и nroff , которые преимущественно используются для этой цели такими инструментами, как man
, mandoc ориентирован именно на руководства и не подходит для набора текста общего назначения .
mandoc
в основном используется для форматирования руководств mdoc, используемых в операционных системах BSD , но он также реализует большинство макросов man , используемых в дистрибутивах Linux , а также подмножество команд roff, иногда смешанных с макросами man . [2] [1] : 1.14.5 Он не поддерживает другие наборы макросов, такие как mm и ms , а также любые функции набора текста, такие как расстановка переносов, шрифты и выравнивание. [2] : совместимость Поддерживаются простые стили, такие как жирный шрифт и курсив, но на терминале выделенный курсивом текст заменяется подчеркнутым. [3] [4]
mandoc имеет встроенную поддержку препроцессора troff soelim (включение) и частичную встроенную поддержку tbl и eqn . Он имеет сильную поддержку вывода UTF-8. Он также может использовать семантическую информацию из руководств по mdoc для реализации семантического поиска , который до версии 1.4.1 опирался на sqlite . [1] : 1.4.1
История
[ редактировать ]Разработка началась в ноябре 2008 года специально для создания CSS форм руководств с поддержкой HTML- в ответ на ограничения groff . mandoc получил первоначальный вывод в текстовом режиме в феврале 2009 года. [5] Затем он был продемонстрирован на AsiaBSDCon-2009. [6] [7] [8] Летом 2010 года мандок стал предметом NetBSD. под руководством Google Summer of Code проекта [9] для создания выходных данных PostScript и PDF наряду с существующими выходными данными текста, HTML и XHTML . Эта работа была завершена в августе 2010 года. [10] mandoc стал форматировщиком руководств по умолчанию для OpenBSD 4.8, выпущенного в ноябре 2010 года. [11] [12] Позже он стал форматировщиком по умолчанию в NetBSD , FreeBSD , illumos , Void Linux , Alpine Linux и macOS , а также включен в DragonFlyBSD , MINIX 3 , Debian , Ubuntu , Gentoo и Fedora . [13] Его преимуществами были названы высокая скорость, [14] лицензия и чистая повторная реализация.
Пример использования
[ редактировать ]Ниже показано выполнение mandoc
самостоятельно. Обычно его вызывают через утилиту man . В этом примере foo.1
— это название руководства по UNIX в формате mdoc . [15]
$ # Page manual to the terminal.
$ mandoc -l foo.1
$ # HTML output with a style-sheet.
$ mandoc -Thtml -Ostyle=style.css >foo.1.html
Многобайтовые (локализованные) руководства также можно визуализировать без предварительной обработки. В этом примере foo.jp.1
— это руководство на японском языке, закодированное в UTF-8 . mandoc автоматически определит кодировку. [15]
$ # Page wide-character manual to the terminal.
$ mandoc -l foo.jp.1
Включенная по поводу реализации может использовать семантическую информацию в поиске: [16]
$ # Search for all functions starting with 'str' having return type size_t:
$ apropos -s 3 Ft=size_t -a Nm~^str
Другие особенности
[ редактировать ]mandoc
поддерживает вывод HTML 5, PostScript и PDF через-T
параметр. [15]man.cgi
— это программа CGI, предназначенная для отображения страниц руководства в Интернете. OpenBSD использует его для форматирования всех страниц руководства. [17]
Ссылки
[ редактировать ]- ^ Jump up to: а б с «Примечания к выпуску» . 23 сентября 2021 г.
- ^ Jump up to: а б OpenBSD по разной информации Руководство –
- ^ «Курсив и цвет на страницах руководства на виртуальном терминале в пользовательском пространстве nosh» . jdebp.eu .
- ^ FreeBSD по основным командам Руководство . «Стили шрифтов применяются с использованием кодировки с обратным интервалом...» –
- ^ «Источник истории» . Mdocml.bsd.lv . Проверено 18 декабря 2010 г.
- ^ «AsiaBSDCon 2009: прекращение поддержки groff для ручного отображения BSD» . 2009.asiabsdcon.org. 15 марта 2009 г. Проверено 18 декабря 2010 г.
- ^ «Устаревшая поддержка groff для ручного отображения BSD» (PDF) . Проверено 18 декабря 2010 г.
- ^ «Видео презентации AsiaBSDCon» . Ютуб.com . Проверено 18 декабря 2010 г.
- ^ «Google Summer of Code: mandoc_ps» . Netbsd-soc.sourceforge.net . Проверено 18 декабря 2010 г.
- ^ «Блог NetBSD» . Блог.netbsd.org. 11 августа 2010 г. Проверено 18 декабря 2010 г.
- ^ «ОпенБСД 4.8» . Openbsd.org. 01.11.2010 . Проверено 18 декабря 2010 г.
- ^ «Грофф удален из дерева» .
- ^ «Наличие набора инструментов mandoc» . Mdocml.bsd.lv.
- ^ Неугомонный, Тед. «тесты скорости мандока» .
- ^ Jump up to: а б с OpenBSD по общим командам Руководство –
- ^ OpenBSD по общим командам Руководство –
- ^ OpenBSD системного менеджера Руководство –
Внешние ссылки
[ редактировать ]- Набор инструментов компилятора mandoc UNIX manpage
- Онлайн-страницы руководства OpenBSD , созданные программой mandoc man.cgi.
- Несмертельная статья о мандоке
- Сайт проекта Google Summer of Code mandoc_ps — работа над поддержкой PostScript
- Страница свободного кода для mandoc — использовалась до версии 1.12.2.