Skip to content
This repository was archived by the owner on Jul 3, 2026. It is now read-only.

Commit 1bfe764

Browse files
committed
1.3.9
【调整】 - 移除文件列表上浮动画以提升性能 【修复】 - 相对链接返回顶部时的闪烁 - 请求防抖在取消时可能挂起 Promise
1 parent 9441bdf commit 1bfe764

43 files changed

Lines changed: 1665 additions & 1098 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.backup

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
SITE_TITLE=Repo-Viewer
2+
SITE_DESCRIPTION=基于MD3设计语言的GitHub仓库浏览应用
3+
SITE_KEYWORDS= GitHub, 仓库, 浏览器, 代码, 查看器
4+
GITHUB_REPO_OWNER=UE-DND
5+
GITHUB_REPO_NAME=Repo-Viewer
6+
GITHUB_REPO_BRANCH=master
7+
8+
USE_TOKEN_MODE=true
9+
GITHUB_PAT1=
10+
GITHUB_PAT2=
11+
DOWNLOAD_PROXY_URL=https://gh-proxy.com
12+
DOWNLOAD_PROXY_URL_BACKUP1=https://ghproxy.com
13+
DOWNLOAD_PROXY_URL_BACKUP2=https://ghproxy.com
14+
15+
ENABLED_SEARCH_INDEX=true
16+
SEARCH_INDEX_BRANCHES=master,dev
17+
SEARCH_INDEX_GENERATION_MODE=action
18+
19+
DEVELOPER_MODE=true

.env.example

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,22 @@ GITHUB_REPO_OWNER = UE-DND
1515
GITHUB_REPO_NAME = Repo-Viewer
1616
GITHUB_REPO_BRANCH = master
1717

18+
###########################################################
19+
# 访问与代理设置
20+
###########################################################
21+
22+
# API访问模式 - 控制API访问方式(本地开发时适用)
23+
USE_TOKEN_MODE = false # 是否启用令牌优先,本地开发时有效 | 默认关闭
24+
25+
# GitHub访问令牌(至少需要一个)
26+
GITHUB_PAT1 =
27+
GITHUB_PAT2 =
28+
29+
# 代理设置 - 用于文件下载和浏览(可选)
30+
DOWNLOAD_PROXY_URL = https://gh-proxy.com # 主代理URL
31+
DOWNLOAD_PROXY_URL_BACKUP1 = https://ghproxy.com # 备选代理1
32+
DOWNLOAD_PROXY_URL_BACKUP2 = https://raw.staticdn.net # 备选代理2
33+
1834
###########################################################
1935
# 内容显示控制(可选)
2036
###########################################################
@@ -35,29 +51,22 @@ FOOTER_LEFT_TEXT = [text](link) # 页脚左侧
3551
# 搜索索引功能(可选)
3652
###########################################################
3753

38-
# 搜索索引开关 - 需要配合 Repo-Viewer-Search 创建的 RV-Index 分支使用
54+
# 搜索索引开关
3955
ENABLED_SEARCH_INDEX = true # 是否启用索引搜索模式 | 默认关闭
40-
SEARCH_INDEX_BRANCH = RV-Index # 存放 manifest 与索引文件的分支 | 默认 RV-Index
41-
SEARCH_DEFAULT_BRANCH = master # 索引缺省时回退的仓库分支 | 默认与 GITHUB_REPO_BRANCH 一致
42-
SEARCH_MANIFEST_PATH = manifest.json # manifest 文件路径(位于索引分支根目录)| 默认 manifest.json
43-
SEARCH_REFRESH_INTERVAL = 300000 # manifest 轮询刷新间隔(毫秒)| 默认 300000 (5 分钟)
4456

45-
###########################################################
46-
# 访问与代理设置
47-
###########################################################
48-
49-
# API访问模式 - 控制API访问方式(本地开发时适用)
50-
USE_TOKEN_MODE = false # 是否启用令牌优先,本地开发时有效 | 默认关闭
57+
# 索引生成模式:build|action|off
58+
# - build: 仅生产构建生成(默认)
59+
# - action: 仅 GitHub Actions 生成
60+
# - off: 禁用索引生成
61+
SEARCH_INDEX_GENERATION_MODE = build
5162

52-
# GitHub访问令牌(至少需要一个)
53-
GITHUB_PAT1 =
54-
GITHUB_PAT2 =
63+
# 需要生成索引的分支列表(逗号/空格分隔),首个分支作为默认搜索分支|留空则使用 GITHUB_REPO_BRANCH
64+
# 注意:Actions 模式下,需将此变量置于仓库 Environments 中,并将环境名称设为 RV-Index,否则无法识别变量
65+
SEARCH_INDEX_BRANCHES = master,dev
5566

56-
# 代理设置 - 用于文件下载和浏览(可选)
57-
DOWNLOAD_PROXY_URL = https://gh-proxy.com # 主代理URL
58-
DOWNLOAD_PROXY_URL_BACKUP1 = https://ghproxy.com # 备选代理1
59-
DOWNLOAD_PROXY_URL_BACKUP2 = https://raw.staticdn.net # 备选代理2
67+
SEARCH_INDEX_EXTENSIONS = # 覆盖默认扩展名白名单(逗号/空格分隔,不含点号)
6068

69+
# 索引产物固定发布到 /search-index(manifest/docfind.js/wasm)
6170

6271
###########################################################
6372
# 开发者选项(可选)
@@ -74,7 +83,7 @@ DEVELOPER_MODE = false # 是否启用
7483
# 控制台日志输出
7584
CONSOLE_LOGGING = true # 是否启用控制台日志记录 | 默认开启
7685

77-
# 组合日志管线(CompositeLogger)配置
86+
# 日志配置
7887
# - 若未设置,系统会基于 DEVELOPER_MODE / CONSOLE_LOGGING 推导安全默认值
7988
# - 下列开关全部可选,按需覆盖
8089
LOGGER_ENABLE_CONSOLE = # 是否强制启用前端控制台日志 | 推荐 dev=true | prod=false

.github/workflows/generate-index.yml

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,66 @@ on:
44
push:
55
branches:
66
- master
7+
- dev
8+
paths-ignore:
9+
- "public/search-index/**"
710
workflow_dispatch: {}
811

912
jobs:
1013
generate-index:
1114
runs-on: ubuntu-latest
15+
environment: RV-Index
1216
permissions:
1317
contents: write
1418
steps:
1519
- name: Checkout repository
1620
uses: actions/checkout@v5
1721
with:
1822
fetch-depth: 0
19-
persist-credentials: false
20-
- name: Generate Repo Viewer search index
21-
uses: H-Sofie/Repo-Viewer-Search@main
23+
- name: Setup Node
24+
uses: actions/setup-node@v4
2225
with:
23-
branches: master
26+
node-version: 24
27+
cache: "npm"
28+
cache-dependency-path: "package-lock.json"
29+
- name: Install dependencies
30+
run: npm ci
31+
- name: Generate docfind index
32+
env:
33+
ENABLED_SEARCH_INDEX: "true"
34+
SEARCH_INDEX_GENERATION_MODE: "action"
35+
SEARCH_INDEX_BRANCHES: ${{ vars.SEARCH_INDEX_BRANCHES }}
36+
GITHUB_REPO_OWNER: ${{ vars.GITHUB_REPO_OWNER || github.repository_owner }}
37+
GITHUB_REPO_NAME: ${{ vars.GITHUB_REPO_NAME || github.event.repository.name }}
38+
GITHUB_REPO_BRANCH: ${{ vars.GITHUB_REPO_BRANCH || github.ref_name }}
39+
GITHUB_PAT1: ${{ secrets.GITHUB_PAT1 }}
40+
GITHUB_PAT2: ${{ secrets.GITHUB_PAT2 }}
41+
run: npm run generate:index
42+
- name: Commit search index
43+
run: |
44+
set -euo pipefail
45+
INDEX_DIR="public/search-index"
46+
if [ ! -d "$INDEX_DIR" ]; then
47+
echo "Index directory not found: $INDEX_DIR"
48+
exit 1
49+
fi
50+
51+
WORKTREE_DIR="${RUNNER_TEMP}/rv-index"
52+
git worktree add --detach "$WORKTREE_DIR"
53+
54+
cd "$WORKTREE_DIR"
55+
git checkout --orphan "RV-Index"
56+
git rm -r --quiet --force . || true
57+
58+
mkdir -p "public/search-index"
59+
cp -R "${GITHUB_WORKSPACE}/${INDEX_DIR}/." "public/search-index/"
60+
61+
git add -A
62+
if git diff --cached --quiet; then
63+
echo "No index changes."
64+
exit 0
65+
fi
66+
git config user.name "github-actions[bot]"
67+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
68+
git commit -m "chore(search-index): update docfind index"
69+
git push --force origin HEAD:RV-Index

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@ yarn-error.log*
1717
coverage
1818
.temp
1919
.tmp
20+
.docfind
2021
report
2122
src/generated/
23+
public/search-index/

.nvmrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

CONTRIBUTING.md

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,44 @@
22

33
> 感谢您对 Repo Viewer 项目的贡献兴趣!我们很高兴与您一起工作,并感谢您帮助使这个项目变得更好!
44
5-
### 我们的协作方式
5+
## 我们的协作方式
66

7-
由于项目作者的水平有限,其未曾掌握任何 Web 开发技术栈,因此本项目的代码均使用 AI output。作者也在通过这个项目进一步学习。
7+
由于项目作者的水平有限,本项目的**大部分代码**AI Agents 完成(在开发者监督和审查下)。作者也在通过这个项目进一步学习。
88

9-
是的,你没有听错,本项目完全由人工智能驱动!错误和不完善之处在所难免。正因如此,我们非常欢迎您的贡献,以帮助修复错误、改进功能和提高代码质量!
9+
是的,你没有听错,本项目几乎由人工智能驱动!错误和不完善之处在所难免。正因如此,我们非常欢迎您的贡献,以帮助修复错误、改进功能和提高代码质量!
1010

1111
***为了保证协作的顺畅,在合并代码前,你需要阅读以下规范:***
1212

13-
---
13+
## 快速入门
14+
15+
### 1. 在本地部署项目
16+
17+
- **克隆仓库**
18+
19+
```bash
20+
git clone https://github.com/UE-DND/Repo-Viewer.git
21+
cd Repo-Viewer
22+
```
23+
24+
- **安装依赖**
25+
26+
```bash
27+
npm install
28+
```
1429

15-
### 快速入门
30+
- **创建环境配置**:复制 `.env.example``.env` 并配置必要的环境变量(参见下方内容)
1631

17-
#### 1. 在本地部署项目
32+
```bash
33+
cp .env.example .env
34+
```
1835

19-
具体部署操作参见【[本地开发](README.md#本地开发)】。
36+
- **启动开发服务器**
2037

21-
#### 2. 创建功能分支
38+
```bash
39+
npm run dev
40+
```
41+
42+
### 2. 创建功能分支
2243

2344
**重要**`master`是我们的生产分支,`dev`是开发分支。任何修改请先合并至`dev`分支。
2445

@@ -28,9 +49,9 @@ git pull origin dev
2849
git checkout -b branch-name/your-description
2950
```
3051

31-
#### 3. 进行代码更改
52+
### 3. 进行代码更改
3253

33-
#### 4. 自行测试所有内容
54+
### 4. 自行测试所有内容
3455

3556
在提交 PR 之前,确保通过 ESLint 测试,不推荐出现任何的错误或警告:
3657

@@ -40,17 +61,15 @@ npm run lint
4061

4162
同时请确保代码质量和部署通过,我们不会对 PR 进行任何审查。若预览分支出现问题,我们会直接撤销你的合并请求。
4263

43-
#### 5. 提交您的 PR
64+
### 5. 提交您的 PR
4465

4566
- 以 `dev` 分支为目标
4667
- 编写清晰的描述
4768
- 引用任何相关 issue
4869

49-
---
50-
51-
### 开发指南
70+
## 开发指南
5271

53-
#### 分支命名规范
72+
### 分支命名规范
5473

5574
- **`master`**:生产就绪的代码
5675
- **`dev`**:开发/预览分支 - **【PR的目标分支】**
@@ -62,35 +81,33 @@ npm run lint
6281

6382
> 推荐于此规范中选择分支的命名
6483

65-
#### 我们期望的代码标准
84+
### 我们期望的代码标准
6685

6786
1. 代码职责最小化
6887
2. 文件分类正确且清晰
6988
3. 添加或删除依赖后,及时更新相关文档
7089
4. 注释简洁,不必添加过多说明,除非改动可能引起的其它后果
7190
5. 谨慎进行大范围重构或技术栈变更,同时需要在 PR 中说明相关变更理由
7291

73-
#### 代码格式化
92+
### 代码格式化
7493

7594
我们使用 `EditorConfig` 进行一致的格式化,请确保你的编辑器安装了相应插件以自动应用格式规则。
7695

77-
---
78-
79-
### 提交 issue
96+
## 提交 issue
8097

81-
#### [bug]
98+
### [bug]
8299

83100
- 存在问题的分支
84101
- 问题重现步骤
85102
- 期望行为 vs 实际行为
86103
- 错误日志
87104

88-
#### [enhancement]
105+
### [enhancement]
89106

90107
- 清晰的增强描述,杜绝抽象概念
91108
- 建议的实现逻辑
92109

93-
#### [feature]
110+
### [feature]
94111

95112
- 功能用途说明
96113
- 清晰的功能描述,杜绝抽象概念
@@ -106,6 +123,6 @@ npm run lint
106123

107124
---
108125

109-
**感谢您为 Repo Viewer 做出贡献** 🎉
126+
**感谢您为 Repo Viewer 做出的贡献** 🎉
110127

111128
您的贡献有助于为每个人提供更好的 GitHub 仓库浏览体验。

0 commit comments

Comments
 (0)