https://github.com/dantleech/strava-rs
Strava TUI
https://github.com/dantleech/strava-rs
Last synced: about 1 year ago
JSON representation
Strava TUI
- Host: GitHub
- URL: https://github.com/dantleech/strava-rs
- Owner: dantleech
- Created: 2023-02-24T23:25:14.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-09T21:25:01.000Z (over 1 year ago)
- Last Synced: 2025-04-14T01:12:50.271Z (about 1 year ago)
- Language: Rust
- Size: 461 KB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
Strava TUI
==========
Strava TUI written in Rust! This is an experimental TUI for Strava.
Features:
- List activities in a comparable way
- Filter activites by with expressions
- Sort listed activities
- Display the route
- Show laps
- Race predictions
- Activity segments
- Works offline
- Filter by route similarity ("anchoring")
## Screenshots
### List activities

### Acivity View

### Activity Segments

## Key Map
- `q`: **Quit**: quit!
- `k`: **Up** - select previous activity
- `j`: **Down** - select next activity
- `K`: **PageUp** - select previous activity (`shift-K` to move 10 down)
- `J`: **PageDown** - select next activity (`shift-J` to move 10 up)
- `n`: **Next** - (in activity view) next split
- `p`: **Previous** - (in activity view) previous split
- `o`: **ToggleSortOrder** - switch between ascending and descending order
- `u`: **ToggleUnitSystem** - switch between imperial and metric units
- `s`: **Sort** - show sort dialog
- `S`: **Rank** - choose ranking
- `f`: **Filter** - filter (see filter section below)
- `r`: **Refresh** - reload activities
- `a`: **Anchor** - show activities with similar routes
- `+`: **IncreaseTolerance** - incease the anchor tolerance
- `-`: **DecreaseTolerance** - descrease the ancor tolerance
- `0`: **ToggleLogView** - toggle log view
## Filter
Press `f` on the activity list view to open the filter input.
### Examples
Show all runs that are of a half marathon distance or more:
```
type = "Run" and distance > 21000
```
Show all runs with "Park" in the title:
```
type = "Run" and title ~ "Park"
```
### Fields
- `distance`: Distance (in meters)
- `type`: `Run`, `Ride` etc.
- `heartrate`: Heart rate in BPM.
- `title`: Activity title
- `elevation`: Elevation (in meters)
- `time`: Time (in seconds, 3600 = 1 hour)
- `date`: Date (YYYY-MM-DD)
- `speed`: Speed (meters per hour, 1000 = 1kmph)
### Values
- `kmph`, `k`: Kilometers per hour e.g. `speed > 10kmph`, `distance > 10k`
- `mph`, `mi`: Miles per hour e.g. `speed > 10mph`, `distance > 10mi`
- `m`, `meters`: Meters per hour e.g. `elevation > 500m`
- `f`, `foot`: Foot per hour e.g. `elevation > 1000ft`
### Operators
- `>`, `<`: Greater than, Less than (e.g. `distance > 21000`)
- `and`, `or`: Logical operators (e.g. `type = "Run" and time > 0`)
- `=`: Equal to
- `~`: String contains
- `!=`: Not equal to (e.g. `type != "Run"`)
- `!~`: String does not contain (e.g. `title ~ "Parkrun"`)