[О блоге]
[наверх]
[пред]
[2019-10-10 11:13:15+03:00]
[f445f28611aafab4883fd15795498f45bf5ca239]
Темы: [tip]
Как сделать красивые текстовые таблицы?
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.
[оставить комментарий]