Skip to content
 
 

Latest commit

 

History

1,347 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

Notion / Ninebot

This fork can use the Ninebot Trips Notion database as the source of src/static/activities.json. It reads each row's GPX file property, unwraps the *_wgs84.gpx.json payload, and renders the trip as a Ninebot route type. Ninebot keeps its own color and label in the UI while being counted with ride routes in ride-oriented calendar/map statistics.

Required env vars:

export NOTION_TOKEN=...
export NOTION_DATABASE_ID=...
# WORKOUT_DATABASE_ID is also supported for compatibility.

Then run:

python3 run_page/notion_sync.py --full-sync

Or use:

pnpm run data:download:notion

This sync path reads trips from Notion and regenerates src/static/activities.json using the existing frontend schema.

Personal Route Map Direction

This fork is being adapted into my personal route coverage map, similar to a web-based world-fog view. The first synced source is Ninebot e-bike trips from Notion. Future sources should be normalized into the same route schema:

  • Ninebot / e-bike GPS tracks from Notion GPX files.
  • Workout tracks from sports apps or workout Notion databases.
  • Estimated subway / transit routes derived from station and time records.

All sources should eventually render together as personal trajectory lines while keeping each route's source field explicit.

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
python3(python) scripts/codoon_sync.py ${your mobile or email} ${your password}

example:

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

example:

python3(python) scripts/codoon_sync.py 54bxxxxxxx fefxxxxx-xxxx-xxxx --from-auth-token

Xingzhe(行者)

Get your Xingzhe data
python3(python) scripts/xingzhe_sync.py ${your mobile or email} ${your password}

example:

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

example:

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 (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
  1. Execute in Console
python3(python) scripts\kml2polyline.py

Special thanks

About

越来越肥胖的身体,导致双脚都扛不住了,没走几下就累;体检数据也一年比一年难看,是时候该动起来了

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages