这个项目能做什么
texttv 是一个小巧、快速且高度可配置的命令行和交互式查看器,用于浏览瑞典电视台(SVT)的公共服务图文电视(Text-TV)。它完全用 Rust 编写,可在大多数平台(macOS、Windows、Linux)和大多数终端模拟器(iTerm2、Ghostty、Terminal.app、Windows Terminal、GNOME Terminal、Konsole、Foot、Terminator、Kitty、WezTerm、Alacritty、Tabby 等)上运行。
该应用提供两种模式:交互模式,您可以使用数字输入、方向键和回车键浏览页面并选择链接;单页视图,您可以直接将特定页面(例如 `texttv 360`)输出到终端。
渲染灵活,有两条主要路径:图文电视模式将原始 40 列页面重建为带有 ANSI 颜色的真实终端文本,粗体双倍高度标题(由于终端支持不一致,以正常高度渲染),以及用于马赛克块字符的 Unicode 六分符。图像模式使用来自 SVT 的原始页面 GIF,在支持原生图形协议的终端(Kitty、Ghostty、WezTerm、iTerm2)中提供像素完美渲染,其他终端则使用半块回退。您可以使用 `--mode`(teletext、auto、kitty、iterm、blocks)强制模式,并使用 `--size`(tiny、small、medium、large、xl、full)调整图像大小。
其他功能包括:当输出通过管道传输时自动降级(剥离 ANSI 转义符,图像模式替换为图文电视模式);配置文件位于 `$XDG_CONFIG_HOME/texttv/config.yaml`,用于持久化偏好设置;支持多个数据源:社区运行的 `api.texttv.nu` JSON 代理(保留图文电视模式所需的颜色属性)和用于图像模式的官方 SVT 页面。马赛克图案本地缓存以避免重复获取。
交互模式包括页面输入字段、链接检测(三位页面引用,支持多页后缀和范围)、多页面的子页面导航以及键盘快捷键。它要求终端至少为 41 列乘 26 行。
该项目是独立的,与 SVT 或 texttv.nu 无关联,用户需尊重上游服务条款。它采用 MIT 许可证。
评论
0 评分人数达到10人后显示
登录后参与讨论。