このプロジェクトについて
texttvは、SVT Text-TV(スウェーデン公共放送のテレテキスト)を閲覧するための、小型で高速かつ高度に設定可能なコマンドラインおよび対話型ビューアです。完全にRustで書かれており、ほとんどのプラットフォーム(macOS、Windows、Linux)とほとんどのターミナルエミュレータ(iTerm2、Ghostty、Terminal.app、Windows Terminal、GNOME Terminal、Konsole、Foot、Terminator、Kitty、WezTerm、Alacritty、Tabbyなど)で動作します。
このアプリは2つのモードを提供します。対話モードでは、数字入力、矢印キー、Enterキーを使用してリンクを選択しながらページを閲覧できます。単一ページビューでは、特定のページ(例:`texttv 360`)をターミナルに直接出力できます。
レンダリングは柔軟で、主に2つの経路があります。テレテキストモードは、元の40列ページを実際のターミナルテキストとして再構築し、ANSIカラー、太字の2倍高さ見出し(ターミナルのサポートが一貫していないため通常の高さでレンダリング)、モザイクブロック文字用の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ページです。モザイクパターンは繰り返しの取得を避けるためにローカルにキャッシュされます。
対話モードには、ページ入力フィールド、リンク検出(複数ページのサフィックスと範囲をサポートする3桁のページ参照)、複数ページのページのサブページナビゲーション、キーボードショートカットが含まれます。少なくとも41列×26行のターミナルが必要です。
このプロジェクトは独立しており、SVTやtexttv.nuとは提携していません。ユーザーは上流の利用規約を尊重するよう求められています。MITライセンスの下で提供されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.