ben-29 / workouts_page

Make your own workouts page
https://w.ben29.xyz
MIT License
141 stars 95 forks source link
garmin gpx mapbox strava workouts

note1: use v2.0 need change vercel setting from Gatsby to Vite

note2: 2023.09.26 garmin need secret_string(and in Actions) get python run_page/garmin_sync.py ${secret_string} if cn python run_page/garmin_sync.py ${secret_string} --is-cn

note3: 2024.08.19: Added Elevation Gain field, If you forked the project before this update, please run the following command:

Create a personal workouts home page

screenshot

简体中文 | English

This project is based on running_page and adds support for multi sports types. Follow the steps in the origin repo to deploy.

New Features

  1. support multi sports types, like Ride/Hike/Swim/Rowing
  2. support new apps
  3. support RoadTrip(GoogleMaps), show Road Trip on maps

Custom your page

Change Sports Color

Add Sports Type


Codoon(咕咚)

Get your Codoon data ```python python3(python) scripts/codoon_sync.py ${your mobile or email} ${your password} ``` example: ```python python3(python) scripts/codoon_sync.py 13333xxxx xxxx ``` > use `--with-gpx` flag to save your gpx data > > use `--from-auth-token` flag to login by refresh_token&user_id ![image](https://user-images.githubusercontent.com/6956444/105690972-9efaab00-5f37-11eb-905c-65a198ad2300.png) example: ```python python3(python) scripts/codoon_sync.py 54bxxxxxxx fefxxxxx-xxxx-xxxx --from-auth-token ```

Xingzhe(行者)

Get your Xingzhe data ```python python3(python) scripts/xingzhe_sync.py ${your mobile or email} ${your password} ``` example: ```python python3(python) scripts/xingzhe_sync.py 13333xxxx xxxx ``` > use `--with-gpx` flag to save your gpx data > > use `--from-auth-token` flag to login by refresh_token&user_id ![image](https://user-images.githubusercontent.com/6956444/106879771-87c97380-6716-11eb-9c28-fbf70e15e1c3.png) example: ```python python3(python) scripts/xingzhe_sync.py w0xxx 185000 --from-auth-token ```

RoadTrip(GoogleMaps)

Import KML from Google Maps 1. Create a map in [Google Maps](https://www.google.com/maps/d/) (keep the route in one Layer) 2. Export Layer to KML file 3. Rename the file to `import.kml` and place it into `scripts` 4. Modify `scripts/kml2polyline.py`, fill in the trip info ``` # TODO modify here # trip name track.name = "2020-10 Tibet Road Trip" # start/end time Year-Month-Day-Hour-Minute track.start_time = datetime(2020, 9, 29, 10, 0) track.end_time = datetime(2020, 10, 10, 18, 0) # total distance distance = 4000 # KM # total days days = 12 # average daily distance hours_per_day = 6 ``` 5. Execute in Console ```python python3(python) scripts\kml2polyline.py ```

Special thanks