简体中文 | English
Runner | page | App |
---|---|---|
shaonianche | https://run.duangfei.org | Nike |
yihong0618 | https://yihong.run/running | Nike |
superleeyom | https://running.leeyom.top | Keep |
geekplux | https://activities.geekplux.com | Nike |
guanlan | https://grun.vercel.app | Strava |
tuzimoe | https://run.tuzi.moe | Nike |
ben_29 | https://running.ben29.xyz | Strava |
- GitHub Actions manages automatic synchronization of runs and generation of new pages.
- Gatsby-generated static pages, fast
- Support for Vercel (recommended) automated deployment
- React Hooks
- Mapbox for map display
- Nike and Runtastic (Adidas Run) automatically backup gpx data for easy backup and uploading to other software.
- Strava
- Nike Run Club
- Runtastic (Adidas Run)
Clone or fork the repo.
git clone https://github.com/yihong0618/running_page.git
pip3 install -r requirements.txt
yarn install
yarn develop
Open your browser and visit http://localhost:8000/
rm scripts/data.db GPX_OUT/* activities/*
OR
rm scripts/data.db
rm GPX_OUT/*
rm activities/*
python3(python) scripts/garmin_sync.py ${your email} ${your password}
example:
python3(python) scripts/garmin_sync.py example@gmail.com example
python3(python) scripts/garmin_sync.py ${your email} ${your password} --is-cn
example:
python3(python) scripts/garmin_sync.py example@gmail.com example --is-cn
python3(python) scripts/runtastic_sync.py ${your email} ${your password}
example:
python3(python) scripts/runtastic_sync.py example@gmail.com example
Get Nike's refresh_token
-
Login Nike website
-
In Develop -> Application-> Storage -> https:unite.nike.com look for
refresh_token
-
Execute in the root directory:
python3(python) scripts/nike_sync.py ${nike refresh_token}
example:
python3(python) scripts/nike_sync.py eyJhbGciThiMTItNGIw******
-
Generate SVG data display
-
Display of results:Click to view、Click to view
python scripts/gen_svg.py --from-db --title "${{ env.TITLE }}" --type github --athlete "${{ env.ATHLETE }}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5
python scripts/gen_svg.py --from-db --title "${{ env.TITLE_GRID }}" --type grid --athlete "${{ env.ATHLETE }}" --output assets/grid.svg --min-distance 10.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime
For more display effects, see:
https://github.com/flopp/GpxTrackPoster
-
Sign in/Sign up Strava account
-
Open after successful Signin Strava Developers -> Create & Manage Your App
-
Create
My API Application
Enter the following information:Created successfully:
-
Use the link below to request all permissions
Replace ${your_id} in the link withMy API Application
Client IDhttps://www.strava.com/oauth/authorize?client_id=${your_id}&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=read_all,profile:read_all,activity:read_all,profile:write,activity:write
-
Get the
code
value in the link
example:http://localhost/exchange_token?state=&code=1dab37edd9970971fb502c9efdd087f4f3471e6e&scope=read,activity:write,activity:read_all,profile:write,profile:read_all,read_all
code
value:1dab37edd9970971fb502c9efdd087f4f3471e6
-
Use
Client_id
、Client_secret
、Code
getrefresch_token
Execute in
Terminal/iTerm
:curl -X POST https://www.strava.com/oauth/token \ -F client_id=${Your Client ID} \ -F client_secret=${Your Client Secret} \ -F code=${Your Code} \ -F grant_type=authorization_code
example:
curl -X POST https://www.strava.com/oauth/token \ -F client_id=12345 \ -F client_secret=b21******d0bfb377998ed1ac3b0 \ -F code=d09******b58abface48003 \ -F grant_type=authorization_code
-
Sync
Strava
datapython3(python) scripts/strava_sync.py ${client_id} ${client_secret} ${refresch_token}
References https://developers.strava.com/docs/getting-started
https://github.com/barrald/strava-uploader
https://github.com/strava/go.strava
Actions source code The following steps need to be taken
- change to your app type and info
Add your secret in repo Settings > Secrets (add only the ones you need).
My secret is as follows
- add your GitHub secret and have the same name as the GitHub secret in your project.
- Complete this document.
- Support Garmin, Garmin China
- Support the Joy Runner
- support for nike+strava, runtastic+strava
- Support English
- Refine the code
- add new features
Before submitting PR:
- Format Python code with Black