docs: 整理项目文档并统一界面表述
构建客户端 / 检查(类型 + 单元测试) (push) Waiting to run
构建客户端 / Linux x64(deb + AppImage) (push) Blocked by required conditions
构建客户端 / Windows x64(NSIS 安装包) (push) Blocked by required conditions
构建客户端 / macOS 通用(.app + .dmg) (push) Blocked by required conditions

将项目说明按主题集中到 docs,补齐根目录 README 和 AGENTS,移除弃用方案并保留有效测试记录与未实现提案。同步文档索引、引用及改动日志生成路径,README 增加 GitHub Markdown 导航和 Mermaid 图。

- fix(client): 统一状态与操作文案,录制和截图成功后再显示完成提示
- test(client): 按文件名核对媒体类型,避免依赖时间戳排序

验证:23 份项目文档、144 处本地引用、27 条外链、2 张 Mermaid 图;前端构建和 12 项测试;截图与录制的 4 条异步反馈路径;Windows Rust 编译检查和后端测试。后端 40 项返回成功,其中 3 项 ffmpeg 集成用例因本机缺少工具而未实际执行。
This commit is contained in:
2026-10-19 11:26:26 +08:00
parent ee22a82ecd
commit 6a0eb14b28
54 changed files with 2624 additions and 4752 deletions
+7 -6
View File
@@ -37,7 +37,7 @@
*/
import { execFileSync } from "node:child_process";
import { readFileSync, writeFileSync, existsSync } from "node:fs";
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
import { dirname, join, resolve } from "node:path";
import { fileURLToPath } from "node:url";
@@ -316,10 +316,10 @@ function renderChangelog(meta, result, releases) {
const lines = [];
lines.push("# 改动记录");
lines.push("");
lines.push("> 本文件由 `scripts/version.mjs` 依据 git 历史生成,**请勿手改**。");
lines.push("> 提交信息遵循 Conventional Commits,一条一个条目;要求见该脚本的文件头。");
lines.push("> 由 [`scripts/version.mjs`](../../scripts/version.mjs) 从 Git 历史生成,请勿手改。");
lines.push("> 提交采用 Conventional Commits,规则见[版本维护](../development/versioning.md)。");
lines.push(
"> 建立这套机制之前的人工整理记录保存在 [`docs/CHANGELOG-legacy.md`](docs/CHANGELOG-legacy.md)。",
"> 自动版本机制建立前的说明见[早期人工记录](changelog-legacy.md)。",
);
lines.push("");
@@ -399,6 +399,7 @@ function writeIfChanged(path, content) {
if (existsSync(full) && readFileSync(full, "utf8") === content) {
return false;
}
mkdirSync(dirname(full), { recursive: true });
writeFileSync(full, content, "utf8");
return true;
}
@@ -432,8 +433,8 @@ function write(meta, result) {
2,
) + "\n",
);
put('CHANGELOG.md', renderChangelog(meta, result, result.releases));
put("CHANGELOG.json", renderJson(meta, result));
put("docs/releases/changelog.md", renderChangelog(meta, result, result.releases));
put("docs/releases/changelog.json", renderJson(meta, result));
put("desktop/src/lib/version.ts", renderTs(meta));
if (syncJsonVersion("desktop/package.json", meta.version)) changed.push("desktop/package.json");