尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Taiwan's buses, 台鐵, 高鐵, metros and YouBike in one app, with trips planned the way people really travel. Part of Orbit, a family of phone apps for life in Taiwan that share one sign-in, the Orbit Pass. See them all at orbit.jaypengx.com.
| Layer | What |
|---|---|
| App | Plain JavaScript (ES modules), HTML and CSS; no framework, no build step, no dependencies |
| Platform | Installable web app with a service worker; location and vibration for navigation, lock-screen notices while it runs |
| Shared | Look, Orbit Pass, notices and data reads from the kit in Orbit-Core |
| Data | TDX (Taiwan's transport data exchange) through the Orbit proxy on Cloudflare Workers; weekly bus packs and line shapes in Cloudflare R2 |
| Maps | Google Maps under the month's cap, else Leaflet with NLSC's tiles; walks on Google's streets, else OpenStreetMap |
| Routing | Our own 台鐵/高鐵 router (Connection Scan) and metro router, beside Google's and TDX's planners |
| Tests | node --test, including navigation driven fix by fix and the owner's verdicts on real trips |
plan a trip
├─ Google's planner ┐
├─ TDX's planner ├─► every way, re-timed by live bus estimates
├─ rail.mjs (CSA) │
└─ metro router ┘
▼
plan.mjs rank: 1. fold the ways a person wouldn't take
2. order the rest by minutes + a small table of bother
▼
nav.mjs: the whole trip on the map, step by step, live
The full map, the ranking rules and the decisions in force: MAP.md.
public/
├── index.html, app.mjs the frame: Pass, tabs, location
├── transit.css the app's look on top of the kit's
├── lib/ 42 modules
│ ├── planner.mjs, plan.mjs, live.mjs planning, ranking, live re-timing
│ ├── rail.mjs, metro*.mjs train router; metro router, boards, maps
│ ├── bus.mjs, near.mjs, packs.mjs, shapes.mjs
│ ├── bike.mjs, rental.mjs, rivers.mjs, tpass.mjs
│ ├── nav.mjs, navlive.mjs, buzz.mjs, alerts.mjs
│ ├── service.mjs operators' notices as rules
│ └── tab-*.mjs, map.mjs, store.mjs each tab; the map; the Pass's data
└── sw.js
scripts/ live trips, verdicts, replays, metro maps
tests/ node --test, with tests/verdicts/
MAP.md how it works, file by file
The app loads the shared kit from a sibling folder, so clone this repo next to Orbit-Core:
git clone https://github.com/JayPengX/Orbit-Core.git
git clone https://github.com/JayPengX/Orbit-Transit.git
cd Orbit-Transit
Requirements: Node.js 22 or newer. There is nothing to install: no framework, no node_modules.
npm test # links ../Orbit-Core/kit as .kit, then runs node --test
See it on a phone-sized screen, signed in with a made-up wallet and real data (needs Playwright):
# a screenshot, saved in /tmp/orbit-preview
node ../Orbit-Core/tools/preview.mjs transit --live --width 375
# serve it, then open http://localhost:8123/Orbit-Transit/
node ../Orbit-Core/tools/preview.mjs transit --live --serve --port 8123
--dark, --lang en, --webkit (Safari's engine) and the other flags are listed in Orbit-Core/tools/README.md.
Run a trip on today's real data, and compare the ranking before and after a change:
node scripts/live.mjs 竹東站 縣體育場
node scripts/live.mjs --against HEAD
scripts/replay.mjs re-runs a debug log (--why shows each way's score) and scripts/verdict.mjs saves a new verdict.
Push to main. GitHub Actions runs the tests, stamps every file with its content hash (so a phone downloads only what changed) and publishes public/ to GitHub Pages; the site Worker serves it at its orbit.jaypengx.com address. There are no pull requests or release branches.
| App | What it is |
|---|---|
| Orbit Sports | Every game you can watch in Taiwan, live |
| Orbit Transit | Bus, train, metro and YouBike, planned and navigated |
| Orbit Weather | One clear forecast, to the township |
| Orbit Words | English vocabulary that stays |
| Orbit Securities | A Taiwan broker on play money |
| Orbit Class | Today's classes at a glance |
| Orbit Beats | Endless music and your own beats |
| Orbit Law | Laws, rulings and bills, linked |
| Orbit Money | Your own books |
| Orbit-Core | The kit, the Orbit Pass and the Workers behind them all |
How it was all built, in pictures and numbers: jaypengx.com/showcase.