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:
- To resolve errors:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: activities.elevation_gain
- For old data: To include
Elevation Gain
for past activities, perform a full reimport.
-
If you don't have a local environment, set RUN_TYPE
to db_updater
in the .github/workflows/run_data_sync.yml
file once then change back.
python run_page/db_updater.py
简体中文 | 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
- support multi sports types, like Ride/Hike/Swim/Rowing
- support new apps
- support RoadTrip(GoogleMaps), show Road Trip on maps
Custom your page
Change Sports Color
- Modify Ride Color:
RIDE_COLOR
in src/utils/const.js
Add Sports Type
- Modify
TYPE_DICT
& MAPPING_TYPE
in scripts/config.py
- Add Type Name and add it into
RUN_TITLES
in src/utils/const.js
- Modify
colorFromType
& titleForRun
in src/utils/util.js
- see commit
- or comment here
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