liiga_teletext

Crates.ioliiga_teletext
lib.rsliiga_teletext
version
sourcesrc
created_at2025-04-11 07:05:45.216664+00
updated_at2025-04-16 18:48:21.794704+00
descriptionA terminal application that displays Finnish Liiga hockey results in a teletext style
homepagehttps://github.com/nikosalonen/liiga_teletext
repositoryhttps://github.com/nikosalonen/liiga_teletext
max_upload_size
id1629340
Cargo.toml error:TOML parse error at line 24, column 1 | 24 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Niko Salonen (nikosalonen)

documentation

https://github.com/nikosalonen/liiga_teletext#readme

README

Finnish Liiga Teletext Terminal App

A Rust terminal application that displays Finnish Liiga hockey results in a YLE Teksti-TV style interface.

image

Features

  • Teletext-style interface with colored headers and content
  • Live game updates with automatic refresh
  • Support for multiple tournaments (regular season, playoffs, playout, qualifications)
  • Command-line argument support using clap
  • Detailed game information including:
    • Game status (scheduled, ongoing, finished)
    • Score with overtime/shootout indicators
    • Goal scorers with timestamps
    • Video links for goals (can be disabled)
    • Pagination for multiple games
  • Keyboard navigation
  • Authentic YLE Teksti-TV appearance

Installation

Install from crates.io

cargo install liiga_teletext

You can create a symlink to the binary to make it available from anywhere:

sudo ln -s ~/.cargo/bin/liiga_teletext /usr/local/bin/221 # 221 is the channel number of YLE Teksti-TV

Install from source

  1. Make sure Rust and Cargo are installed on your system. If not, install them from rustup.rs.

  2. Clone this repository:

git clone https://github.com/nikosalonen/liiga_teletext.git
cd liiga_teletext
  1. Build and run the application:
cargo build --release
cargo run --release

Project Structure

liiga_teletext/

└── src/               # Source code directory
    ├── main.rs        # Main application logic and event handling
    ├── teletext_ui.rs # UI components and rendering
    ├── data_fetcher/  # Data fetching related modules
    ├── data_fetcher.rs# API integration and data processing
    ├── config.rs      # Configuration handling
    └── schemas/       # JSON schema definitions
        ├── game_schema.json         # Game data structure schema
        └── game_schedule_schema.json# Game schedule data structure schema

Usage

  • Press q to quit the application
  • Use left/right arrow keys to navigate between pages
  • Data refreshes automatically:
    • Every minute for live games
    • Every hour for non-live games
  • Use -d or --date to specify a date to show games for.
  • Use -o or --once to show scores once and exit immediately.
  • Use -p or --plain to disable clickable video links.
  • Use -c or --config to update the API domain.
  • Use -l or --list-config to list the current configuration.

Configuration

On first run, you will be prompted to enter your API domain. This will be saved to a config file at:

  • Linux: ~/.config/liiga_teletext/config.toml
  • macOS: ~/Library/Application Support/liiga_teletext/config.toml
  • Windows: %APPDATA%\liiga_teletext\config.toml

The configuration can be manually edited at any time by modifying this file. You can:

  • Update the API domain

Features Status

  • Real API integration
  • Multiple pages of content with pagination
  • Live game updates
  • Goal scorer information
  • Support for multiple tournaments
  • Automatic refresh based on game state
  • Configurable video link display
  • Command-line argument support

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for more details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • YLE Teksti-TV for the design inspiration
  • NHL-235 by Juha-Matti Santala for pioneering the concept of bringing teletext hockey scores to the terminal. My original inspiration for this project.
Commit count: 0

cargo fmt