| Crates.io | liiga_teletext |
| lib.rs | liiga_teletext |
| version | 0.15.10 |
| created_at | 2025-04-11 07:05:45.216664+00 |
| updated_at | 2025-09-22 07:24:30.541276+00 |
| description | YLE Teksti-TV 221 in your terminal - Finnish Liiga hockey results with authentic teletext aesthetics |
| homepage | https://github.com/nikosalonen/liiga_teletext |
| repository | https://github.com/nikosalonen/liiga_teletext |
| max_upload_size | |
| id | 1629340 |
| size | 932,970 |
A Rust terminal application that displays Finnish Liiga hockey results in authentic YLE Teksti-TV style.
You can check your Rust version with:
rustc --version
If you need to update Rust, visit rustup.rs or run:
rustup update
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
Make sure Rust and Cargo are installed on your system. If not, install them from rustup.rs.
Clone this repository:
git clone https://github.com/nikosalonen/liiga_teletext.git
cd liiga_teletext
cargo build --release
cargo run --release
q to quit the application-d flag with a specific dater to manually refresh data-d, --date <DATE> - Show games for a specific date in YYYY-MM-DD format-o, --once - Show scores once and exit immediately (useful for scripts)-p, --plain - Disable clickable video links in the output-c, --compact - Enable compact mode with space-efficient multi-column layout-w, --wide - Enable wide mode with two-column side-by-side layout (requires 128+ character wide terminal)--min-refresh-interval <SECONDS> - Set minimum refresh interval in seconds (default: auto-detect based on game count). Higher values reduce API calls but may miss updates. Use with caution.--config [DOMAIN] - Update API domain in config (prompts if not provided)
-c short flag has been removed to avoid conflict with --compact. Use the full --config flag instead.--set-log-file <PATH> - Set a persistent custom log file location--clear-log-file - Clear custom log file path and revert to default location-l, --list-config - List current configuration settings--debug - Enable debug mode (doesn't clear terminal, logs to file)--log-file <PATH> - Specify a custom log file path for this session-V, --version - Show version information--compact)Space-efficient multi-column layout with team abbreviations. Adapts from 1-3 columns based on terminal width.
liiga_teletext --compact --once # Quick compact view
--wide)Side-by-side two-column layout for wide terminals (128+ characters). Shows full game details in each column.
liiga_teletext --wide --date 2025-03-21 # Wide view for specific date
When multiple players share the same last name on a team, the app automatically adds first initials for clarity (e.g., "Koivu M.", "Koivu S."). This works per-team, so players with the same last name on different teams remain unchanged.
On first run, you will be prompted to enter your API domain. This will be saved to a config file at:
~/.config/liiga_teletext/config.toml~/Library/Application Support/liiga_teletext/config.toml%APPDATA%\liiga_teletext\config.tomlThe configuration can be manually edited at any time by modifying this file. You can:
The application includes comprehensive logging that can be configured:
~/.config/liiga_teletext/logs/liiga_teletext.log--set-log-file or --log-fileThe application intelligently handles different tournament types based on the season:
runkosarja) - Main league games (September-April)playoffs) - Championship playoffs (March-June)playout) - Relegation playoffs (March-June)qualifications) - Qualification games (March-June)valmistavat_ottelut) - Preseason practice games (May-September)During off-season periods, the app shows a countdown to the next regular season start.
# Build and test
cargo build --all-features
cargo test --all-features
# Code quality checks
cargo fmt
cargo clippy --all-features --all-targets -- -D warnings
Uses Rust 2024 edition with modular architecture: CLI/main, data fetcher, teletext UI, config, and performance modules.
Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for detailed guidelines including commit message format and development workflow.
Important: Before submitting any changes, please ensure:
cargo test --all-featurescargo fmtcargo clippy --all-features --all-targets -- -D warningsThis project is licensed under the MIT License - see the LICENSE file for details.