Об этом проекте
texttv — это небольшой, быстрый и легко настраиваемый просмотрщик для командной строки и интерактивного использования SVT Text-TV, общественного телетекста Шведского телевидения. Полностью написанный на Rust, он работает на большинстве платформ (macOS, Windows, Linux) и в большинстве терминальных эмуляторов (iTerm2, Ghostty, Terminal.app, Windows Terminal, GNOME Terminal, Konsole, Foot, Terminator, Kitty, WezTerm, Alacritty, Tabby и других).
Приложение предлагает два режима: интерактивный режим, в котором можно просматривать страницы с помощью ввода номеров, стрелок и клавиши Enter для выбора ссылок, и режим просмотра одной страницы, в котором можно вывести конкретную страницу (например, `texttv 360`) прямо в терминал.
Отрисовка гибкая и имеет два основных пути: режим телетекста восстанавливает исходную 40-колоночную страницу как настоящий терминальный текст с ANSI-цветами, жирными заголовками двойной высоты (отображаются с обычной высотой из-за непостоянной поддержки в терминалах) и символами Unicode sextants для мозаичных блочных символов. Режим изображения использует исходный GIF страницы от SVT, обеспечивая пиксельно точную отрисовку в терминалах с нативными графическими протоколами (Kitty, Ghostty, WezTerm, iTerm2), с запасным вариантом в виде полублоков для остальных. Можно принудительно задать режим с помощью `--mode` (teletext, auto, kitty, iterm, blocks) и настроить размер изображения с помощью `--size` (tiny, small, medium, large, xl, full).
Дополнительные возможности включают автоматическое понижение качества при перенаправлении вывода (ANSI-escape-последовательности удаляются, режим изображения заменяется телетекстом), файл конфигурации в `$XDG_CONFIG_HOME/texttv/config.yaml` для постоянных настроек и поддержку нескольких источников данных: управляемого сообществом JSON-прокси `api.texttv.nu` (который сохраняет цветовые атрибуты, необходимые для режима телетекста) и официальных страниц SVT для режима изображения. Мозаичные шаблоны кэшируются локально, чтобы избежать повторных запросов.
Интерактивный режим включает поле ввода страницы, обнаружение ссылок (трёхзначные ссылки на страницы с поддержкой суффиксов и диапазонов для нескольких страниц), навигацию по подстраницам для многостраничных страниц и сочетания клавиш. Требуется терминал размером не менее 41 колонки на 26 строк.
Проект независим и не связан с SVT или texttv.nu; пользователей просят соблюдать условия обслуживания вышестоящих сервисов. Лицензирован под MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.