Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

07.06.2010

mandoc и прочие полезные вещи

Ну раз уж написал вначале названия mandoc то и начну с него.
Коротенько писал уже в джуйке, а теперь пожалуй расскажу поподробнее. Для тех кому лень ходить по ссылкам mandoc это такая программа, которая форматирует и отображает UNIX маны, причём благодаря макросам mdocml вывод может осуществляться в различные форматы, ну и всё это задумано чтобы заменить groff который является реализацией roff выполненной в рамках проекта GNU, и который пока ещё используется FreeBSD, а до недавнего времени использовался и другими BSD проектами.
В настоящее время
DragonFlyBSD usr.bin/mandoc (системная утилита)
FreeBSD ports/textproc/mdocml (в виде порта, идёт эксперимент по интеграции в систему)
NetBSD src/external/bsd/mdocml (системная утилита)
OpenBSD src/usr.bin/mandoc (системная утилита, первоначальная разработка)
Выше сказано своими словами, и насколько я понимаю, так что для ясности всё же лучше сходить на страничку проекта, благо она не так уж велика, да и расписано там вроде всё доходчиво.
Так же пожалуй приведу ряд ссылок на обсуждения, и новости о проекте, всё по английски, ибо на русском по моему есть только комментарии.
Свеженькие новости от разработчиков, и просьба об ошибках писать им для централизации проекта.
Кстати там есть интересная фраза, об истиной причини создания проекта :)
mandoc exists because grohtml didn't let me change the colour of `.Sh' section headings. I wanted to HTML-format the manuals for mult and sysjail (cf. http://bsd.lv/) consistent with the style of the surrounding site and was upset when it didn't Just Work. So I wrote a little tool to consume my manuals in -mdoc and directly produce CSS and HTML, so mdocml is short for mdoc2html and CVS dates my first check-ins at 18 months ago.
Кстати а проект bsd.lv и правда весьма не плох, и кроме mandoc поддерживает и другие программы, и со вкусом сделан.
Обсуждение в листе рассылок NetBSD, весьма длинное и любопытное, основная суть какую замену groff выбрать, и какие плюсы и минусы у альтернатив.
Так же свежее обсуждение в листе рассылки FreeBSD, в предверии проекта GSoC, и планов на него, кстати у данного проекта вроде неплохая вики страничка, с весьма четким планом, и основными намерениями.

Так же существует проект Heirloom весьма всеобъемлющий, упоминался в обсуждениях, но там вроде всё непросто с лицензиями.

Как уже писал ранее для FreeBSD, существует порт textproc/mdocml для пробы поставил, ставится без проблем, а вот пользоваться, что называется из коробки неудобно, частично описано в форуме, хотя ни один из предложенных там вариантов мне как то не приглянулся.
Пока пришел вот к такому варианту
zcat /usr/local/man/man1/mandoc.1.gz | mandoc -mdoc -Tascii | less
по большому счёту выглядит так же как оригинал, но можно поизвращаться с оформлениями и способами вывода, например вывести в html, даже со своей css, для примера дёрнул css с офф.сайта, вот так выглядит на примере FF, lynx, less
в lynx правда как то гадко смотрится, из за того что он не понимает css
zcat /usr/local/man/man1/mandoc.1.gz | mandoc -mdoc -Txhtml -Ostyle=style.css | lynx -stdin
gunzip -c /usr/local/man/man1/mandoc.1.gz | mandoc -mdoc -Txhtml -Ostyle=style.css | w3m -T text/html
В w3m ситуация аналогична :( и да вот какой умник им придумывал ключи, ну никак не бросаются в глаза а для links я так и не нашел как с pipe читать.
Ну вот вроде пока и всё, пойдём к другим темам.

Я тут как то уже писал, о том как в принципе много не бесполезных вещей есть в системе портов, узнать о них не трудно, но думаю многие как и я до поры до времени просто не оборащают внимания.
Например в файле ports/CHANGES можно узнать о всяких значительных изменениях в системе портов, например скоро устареет и будет удален lang/gcc43, и всем рекомендуют перейти на 4.4+, но меня больше заинтересовала новость от 20100524, о том что в порты всё же ввели поддержку лицензий, и в скором времени каждый порт будет иметь ту или иную лицензию, более подробно пожалуй стоит посмотреть в вики, там неплохо описано что и зачем, пока конечно это всё развивается, но всё одно приятно, кстати проект тоже вырос из GSoС 2008/2009, тут подумалось, а было бы любопытно посмотреть за судьбой проектов GSoС/FreeBSD за прошедшие годы, но думаю при их числе это тянет на весьма немалый труд.