diff --git a/.env.example b/.env.example
index 1f42ecc..d795880 100644
--- a/.env.example
+++ b/.env.example
@@ -16,6 +16,3 @@ TRIAL_CONCURRENCY=2
ALLOWED_WS_ORIGINS=
OJ2_DEV_USERNAME=student
OJ2_DEV_PASSWORD=student123
-# 一言数据集(hitokoto 官方的 sentences-bundle)。默认 data/hitokoto;本机放在仓库旁边的话指过去,
-# 读不到就回落到内置的三句,不影响启动
-# HITOKOTO_DIRECTORY=../sentences-bundle
diff --git a/apps/api/src/config.ts b/apps/api/src/config.ts
index 4f8cf74..f0b8464 100644
--- a/apps/api/src/config.ts
+++ b/apps/api/src/config.ts
@@ -77,7 +77,7 @@ const envSchema = z.object({
AVATAR_DIRECTORY: text("data/avatar"),
TEST_CASE_DIRECTORY: text("data/test_case"),
UPLOAD_DIRECTORY: text("data/upload"),
- HITOKOTO_DIRECTORY: text("data/hitokoto"),
+ HITOKOTO_DIRECTORY: text("../sentences-bundle"),
ALLOWED_WS_ORIGINS: text(""),
UPLOAD_URI_PREFIX: text("/public/upload"),
AVATAR_URI_PREFIX: text("/public/avatar"),
@@ -150,8 +150,8 @@ export const config = {
// 判题沙箱把这个目录挂成只读的 /test_case,两边必须指同一处
testCaseDirectory: repoPath(env.TEST_CASE_DIRECTORY),
uploadDirectory: repoPath(env.UPLOAD_DIRECTORY),
- // 一言数据集(hitokoto.cn 官方导出),和旧后端读同一份:容器里是 /data/hitokoto。
- // 本机 dev 默认路径下没有这份数据,读不到就回落到内置的几条,不影响启动。
+ // 一言数据集(hitokoto.cn 官方的 sentences-bundle)。线上容器里是 /data/hitokoto(Dockerfile 写死,
+ // 这个默认值管不到);本机默认读仓库旁边那份 ../sentences-bundle,读不到就回落到内置的几条,不影响启动。
hitokotoDirectory: repoPath(env.HITOKOTO_DIRECTORY),
/**
* WebSocket 升级时额外放行的来源(逗号分隔的完整 origin,如 https://oj.example.com)。
diff --git a/apps/api/src/routes/site.ts b/apps/api/src/routes/site.ts
index 7538455..982717b 100644
--- a/apps/api/src/routes/site.ts
+++ b/apps/api/src/routes/site.ts
@@ -34,7 +34,7 @@ siteRoutes.get("/site/online", async (c) => {
return success(c, { count: await onlineCount() } satisfies OnlineCount)
})
-// 数据集读不到时的兜底(本机 dev 没挂 data/hitokoto 就会走这里)
+// 数据集读不到时的兜底(本机旁边没有 sentences-bundle 就会走这里)
const fallbackQuotes = [
{
hitokoto: "程序首先是写给人读的,其次才是让机器执行。",
diff --git a/apps/web/src/shared/components/Hitokoto.vue b/apps/web/src/shared/components/Hitokoto.vue
index f094c57..fbeec3f 100644
--- a/apps/web/src/shared/components/Hitokoto.vue
+++ b/apps/web/src/shared/components/Hitokoto.vue
@@ -5,7 +5,8 @@ import { useThemeVars } from "naive-ui"
import { getHitokoto } from "../api"
/**
- * 一言(设计稿「一言重设计」A 版):大引号 + 一行句子 + 「—— 谁《出处》· 分类」+ 一个看得见的「换一句」。
+ * 一言(设计稿「一言重设计」A 版):大引号 + 一行句子 + 「—— 谁《出处》」+ 一个看得见的「换一句」。
+ * 分类(动画、诗词……)不显示;接口里的 type 只用来判断出处要不要加书名号。
* 原来只能点句子换,没人知道;出处被截成「来自 Structure and Interpretatio…」。
* 长句(数据集 p90 44 字、最长 255 字)一行放不下,点句子弹出全文。
* 留着它是给学生一点「无聊的乐趣」,别去掉、别挪到看不见的地方。
@@ -56,22 +57,12 @@ const popVars = computed(() => ({