Files

36 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BlogFlare 项目规则
## 包管理器
- **统一使用 `pnpm`**,禁止使用 `npm` 或 `yarn`。
- 运行一次性脚本时,使用 `pnpm dlx` 而不是 `npx`。
- 安装依赖时,使用 `pnpm install` 或 `pnpm add`。
## 质量保障与 CI 检查
- **修改代码后必须运行本地检查**,尤其是 Svelte 组件或 TypeScript 文件。
- 必须运行 `pnpm run check && pnpm run lint`,并确保 0 错误、0 警告。
- 没有实际运行并通过这些检查,不得宣布任务完成。
## 语义化配置(别名 Aliases,重要)
项目中的实体名称(文章、页面、分类、标签、系列)全部支持后台自定义别名,**禁止在任何前端文案中硬编码这些中文名称**,必须统一走 `aliases` 语义化配置。
- 别名来源:数据库 `settings` 表中 `alias.*` 键,由 `src/routes/admin/+layout.server.ts` 注入,管理端页面通过 `$page.data.aliases` 读取。
- 支持的别名 key:`post`、`page`、`category`、`tag`、`series`。
- 使用 `$page.data.aliases?.<key> || '<默认值>'` 形式读取,默认值必须与 `+layout.server.ts` 中保持一致。
```svelte
<h2>新{$page.data.aliases?.post || '文章'}</h2>
<h3>{$page.data.aliases?.tag || '标签'}</h3>
placeholder="+ 添加{$page.data.aliases?.tag || '标签'}..."
```
- 适用范围包括但不限于:标题、标签页签、按钮文案、占位符(placeholder)、提示语(title / aria-label)、空状态、确认弹窗等所有用户可见文本。
- 后台设置项在 `src/routes/admin/settings/+page.server.ts` 中以 `alias.<key>` 形式保存,默认值需同步维护。
## 环境依赖
- 使用最新的 Svelte 5 语法
- 使用最新的 SvelteKit 规范