# 上传说明

软件、硬件、机械资料、网页和 Wiki 已准备在本地仓库中；目前没有远程仓库，也没有对外发布。

## 上传整个项目

在 GitHub 建立空仓库后，从这里执行，将地址换成真实地址，不需要再次 `git init`：

```sh
git remote add origin https://github.com/YOUR-ACCOUNT/YOUR-REPOSITORY.git
git push -u origin main
```

上传全部跟踪文件，包括 `.github/`、`.gitattributes`、`website/public/`。虚拟环境、固件 build、截图和 release 压缩包已忽略。

## 网页和网页 Wiki

`website/public/` 可直接部署：主页 `index.html`，Wiki 首页 `wiki/Home.html`。Logo、图纸、动画、离线搜索和源码下载包均在里面。

GitHub **Settings → Pages → Source** 选择 **GitHub Actions**。推送 main 后，工作流测试、校验原文件、重建网站并部署，实际 URL 以部署结果为准。

手动托管可解压 `release/pages.zip`，上传其中内容；站点根目录应直接包含 `index.html`，不要多套一层 `public/`。

本地 HTTP 测试、后台服务和自有云服务器 Nginx 部署见 [部署说明](deploy/README.md)。

## Wiki 的几种形式

- `wiki/` 是随主仓库上传的 Markdown 原文，引用本仓库的软件、图纸和图片。
- `website/public/wiki/` 是可交互网页 Wiki，随网站上传，支持动画、放大图纸和搜索。
- GitHub 顶部 **Wiki** 标签使用独立的 `.wiki.git` 仓库，需要主仓库真实地址确定后导出。

需要原生 Wiki 时，先在 GitHub 启用 Wiki 并创建首篇页面，然后执行：

```sh
python scripts/export_wiki.py --repository https://github.com/YOUR-ACCOUNT/YOUR-REPOSITORY --branch main
git clone https://github.com/YOUR-ACCOUNT/YOUR-REPOSITORY.wiki.git ../hall-sensor-wiki
```

把 `output/github-wiki/` 文件复制到克隆目录，检查后提交并推送。导出器会修正源码和图片地址、加入品牌侧栏，并将动画换成 Pages 演示链接。当前未生成指向虚构地址的导出物。

## 上传包

工作区提交且干净后执行：

```sh
python scripts/prepare_release.py
```

生成 `release/repository.zip`（当前 Git 提交，无 `.git`）、`release/pages.zip`（完整静态网站与网页 Wiki）和 `release/manifest.json`（提交号、文件数、SHA-256）。修改文档或网页后，先构建、检查、提交，再重新生成上传包。
