基本配置
起初按照官网的流程配置,fork和clone之后执行:
1 | conda create -n runningpage python=3.11 # **python >= 3.11; node >= 20** |
进行到pnpm install
这一步时,因为 corepack 的签名验证机制和 npm 注册表的密钥轮换,报错:
报错信息
1 | E:\nodejs\node_modules\corepack\dist\lib\corepack.cjs:21535 |
建议直接跳过 corepack,使用 npm 安装 pnpm:
1 | # 禁用 corepack |
成功。
pnpm develop
完毕后hold on,进入http://localhost:5173/
查看,发现是官网第一个展示的默认running page;进入下一步。
个性化
必要:个人信息和TOKEN更改
mapbox token:被狠狠制裁了,可用Proton Mail的方法试试(记得用ipad进行mapbox的注册操作);我因为操作太频繁被Proton Mail封禁第三方平台的注册了(Your Proton account is currently restricted from registering on third-party services)。
keep secrets:
1 | python run_page/keep_sync.py [phone_number] [secret] --with-gpx |
Github repo
首先,好好读教程!!!读完总算部署成功了。下面粗略总结一下步骤:
- 前述的下载、安装和测试;
- 在src/static/site-metadata.ts中更改网址为自己的域名,并做个性化设置;
- 下载APP(如KEEP)数据到本地(华为运动健康可直接同步到KEEP);
- 首次构建和推送:
命令行
1
2
3
4
5
6
7
8
9
10
11D:
cd github/running_page
conda activate runningpage
pnpm install
pnpm build
git remote add upstream [SSH of fork]
git remote add origin [SSH of fork]
git push origin master:gh-pages - Server:我选择的是部署到Github Pages。下面是第一次手动发布的流程:
- 进入仓库的 “Settings -> GitHub Pages -> Source”,选择 “GitHub Actions”
- 进入仓库的 “Actions -> Workflows -> All Workflows”,选择左侧面板的 “Run Data Sync”,点击 “Run workflow”更新数据,触发 “Publish GitHub Pages” 工作流;
- 打开网站检查结果;
- 为 GitHub Actions 添加代码提交权限,访问仓库的 Settings > Actions > General页面,找到 Workflow permissions 的设置项,将选项配置为 Read and write permissions,支持 CI 将运动数据更新后提交到仓库中。
- 因为需要添加自定义域名于 GitHub Pages,需要修改 gh-pages.yml 中的 Build 模块,删除
${{ github.event.repository.name }}
改为run: PATH_PREFIX=/ pnpm build
; - 修改 src/static/site-metadata.ts 中 siteUrl为自己的域名。
注:5-6步修改的是下面提到的gh-pages分支的.github/workflows/gh-pages.yml。
Github action
设置好Github Action的权限之后,还需要改自动化分支:本地和远程都需要保持master和gh-pages两个分支,并且要按自己的需求更改文件。要求是:
- 每天24:00自动更新数据并构建、发布到gh-pages分支;
- master用于敷衍pull bot的自动拉取行为,且不能让master分支成功发布(因为会同步原repo的东西)。
下面给出更改例:
master 分支
用于从原仓库同步内容。
.github/workflows/gh-pages.yml
1 | - uses: actions/checkout@v4 |
.github/workflows/run_data_sync.yml
1 | name: Run Data Sync |
gh-pages分支
用于发布RunningPage页面。
.github/workflows/gh-pages.yml
1 | - uses: actions/checkout@v4 |
.github/workflows/run_data_sync.yml
的修改与master分支一致。