From f445f28611aafab4883fd15795498f45bf5ca239 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 10 Oct 2019 11:13:15 +0300 Subject: [PATCH] =?utf8?q?=D0=9A=D0=B0=D0=BA=20=D1=81=D0=B4=D0=B5=D0=BB?= =?utf8?q?=D0=B0=D1=82=D1=8C=20=D0=BA=D1=80=D0=B0=D1=81=D0=B8=D0=B2=D1=8B?= =?utf8?q?=D0=B5=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=BE=D0=B2=D1=8B=D0=B5?= =?utf8?q?=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.snake.net/software/troffcvt/tbl.html Годами я задавался вопросом о том, как бы уметь делать таблички текстовые красивые. Иногда я делал HTML с table и рендерил текстовым броузером. Но держать для этого links (lynx таблицы там себе кажет) не особо хочется. Когда-то я помнил про Vim плагины которые могут создавать их красиво и в real-time править, но когда нужно объединять ячейки, то начинаются проблемы. Нашёл Python и Go библиотеки которые позволяют рендерить то, что вы им задали. То есть, можно было бы таблицу желаемую оформить в виде кода, дальше рендерить. Но как-то сложно выглядит, плюс, опять же, с объединением ячеек не всегда выйдет. Вспомнил тут что в старой книге 1990-х годов по Unix SysV я видел roff программу tbl. Решил вспомнить а трудно ли её использовать и каковы её возможности. Вообще через пару минут чтения man-а уже достаточно информации чтобы делать более сложные таблицы чем большинство библиотек предлагает. Из коробки в системе tbl ставится вместе с groff/troff всяким, что у меня будет всегда. Какая-нибудь вот такая штука: .TS tab(;) allbox; l l l ld r ^ l rd. 0000;foobar T{ 1111 .br 2222 T};foo r; T{ 3333 .br 4444 T};bar \^;\^ .TE красиво отобразится в виде: ┌─────┬────────┐ │0000 │ foobar │ ├─────┼────────┤ │1111 │ │ │2222 │ │ ├─────┤ │ │ r │ foo │ ├─────┼────────┤ │3333 │ │ │4444 │ bar │ └─────┴────────┘ Нужно только не забывать что для отображения кириллицы надо явно говорить про UTF-8: tbl ... | groff -Tutf8 -Dutf8. -- 2.50.0