daily-question 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +38 -26
  3. package/client.js +250 -144
  4. package/cordis.patch.yml +1 -1
  5. package/icon.svg +10 -7
  6. package/index.js +6 -6
  7. package/lib/bank.js +53 -36
  8. package/lib/exam-dates.js +101 -67
  9. package/lib/generate.js +62 -25
  10. package/lib/generation-history.js +8 -0
  11. package/lib/paper-types.js +47 -0
  12. package/lib/reference-reader.js +11 -8
  13. package/lib/references.js +72 -26
  14. package/lib/research.js +22 -13
  15. package/lib/routes.js +62 -95
  16. package/lib/service.js +73 -72
  17. package/lib/store.js +3 -8
  18. package/lib/subjects.js +12 -0
  19. package/package.json +2 -2
  20. package/vendor/mathjax/a11y/assistive-mml.js +1 -0
  21. package/vendor/mathjax/input/tex/extensions/action.js +1 -0
  22. package/vendor/mathjax/input/tex/extensions/ams.js +1 -0
  23. package/vendor/mathjax/input/tex/extensions/amscd.js +1 -0
  24. package/vendor/mathjax/input/tex/extensions/autoload.js +1 -0
  25. package/vendor/mathjax/input/tex/extensions/bbm.js +1 -0
  26. package/vendor/mathjax/input/tex/extensions/bboldx.js +1 -0
  27. package/vendor/mathjax/input/tex/extensions/bbox.js +1 -0
  28. package/vendor/mathjax/input/tex/extensions/begingroup.js +1 -0
  29. package/vendor/mathjax/input/tex/extensions/boldsymbol.js +1 -0
  30. package/vendor/mathjax/input/tex/extensions/braket.js +1 -0
  31. package/vendor/mathjax/input/tex/extensions/bussproofs.js +1 -0
  32. package/vendor/mathjax/input/tex/extensions/cancel.js +1 -0
  33. package/vendor/mathjax/input/tex/extensions/cases.js +1 -0
  34. package/vendor/mathjax/input/tex/extensions/centernot.js +1 -0
  35. package/vendor/mathjax/input/tex/extensions/color.js +1 -0
  36. package/vendor/mathjax/input/tex/extensions/colortbl.js +1 -0
  37. package/vendor/mathjax/input/tex/extensions/colorv2.js +1 -0
  38. package/vendor/mathjax/input/tex/extensions/configmacros.js +1 -0
  39. package/vendor/mathjax/input/tex/extensions/dsfont.js +1 -0
  40. package/vendor/mathjax/input/tex/extensions/empheq.js +1 -0
  41. package/vendor/mathjax/input/tex/extensions/enclose.js +1 -0
  42. package/vendor/mathjax/input/tex/extensions/extpfeil.js +1 -0
  43. package/vendor/mathjax/input/tex/extensions/fontsizev3.js +1 -0
  44. package/vendor/mathjax/input/tex/extensions/gensymb.js +1 -0
  45. package/vendor/mathjax/input/tex/extensions/html.js +1 -0
  46. package/vendor/mathjax/input/tex/extensions/mathtools.js +1 -0
  47. package/vendor/mathjax/input/tex/extensions/mhchem.js +34 -0
  48. package/vendor/mathjax/input/tex/extensions/newcommand.js +1 -0
  49. package/vendor/mathjax/input/tex/extensions/noerrors.js +1 -0
  50. package/vendor/mathjax/input/tex/extensions/noundefined.js +1 -0
  51. package/vendor/mathjax/input/tex/extensions/physics.js +1 -0
  52. package/vendor/mathjax/input/tex/extensions/require.js +1 -0
  53. package/vendor/mathjax/input/tex/extensions/setoptions.js +1 -0
  54. package/vendor/mathjax/input/tex/extensions/tagformat.js +1 -0
  55. package/vendor/mathjax/input/tex/extensions/texhtml.js +1 -0
  56. package/vendor/mathjax/input/tex/extensions/textcomp.js +1 -0
  57. package/vendor/mathjax/input/tex/extensions/textmacros.js +1 -0
  58. package/vendor/mathjax/input/tex/extensions/unicode.js +1 -0
  59. package/vendor/mathjax/input/tex/extensions/units.js +1 -0
  60. package/vendor/mathjax/input/tex/extensions/upgreek.js +1 -0
  61. package/vendor/mathjax/input/tex/extensions/verb.js +1 -0
  62. package/vendor/mathjax/newcm/svg/dynamic/PUA.js +1 -0
  63. package/vendor/mathjax/newcm/svg/dynamic/accents-b-i.js +1 -0
  64. package/vendor/mathjax/newcm/svg/dynamic/accents.js +1 -0
  65. package/vendor/mathjax/newcm/svg/dynamic/arabic.js +1 -0
  66. package/vendor/mathjax/newcm/svg/dynamic/arrows.js +1 -0
  67. package/vendor/mathjax/newcm/svg/dynamic/braille-d.js +1 -0
  68. package/vendor/mathjax/newcm/svg/dynamic/braille.js +1 -0
  69. package/vendor/mathjax/newcm/svg/dynamic/calligraphic.js +1 -0
  70. package/vendor/mathjax/newcm/svg/dynamic/cherokee.js +1 -0
  71. package/vendor/mathjax/newcm/svg/dynamic/cyrillic-ss.js +1 -0
  72. package/vendor/mathjax/newcm/svg/dynamic/cyrillic.js +1 -0
  73. package/vendor/mathjax/newcm/svg/dynamic/devanagari.js +1 -0
  74. package/vendor/mathjax/newcm/svg/dynamic/double-struck.js +1 -0
  75. package/vendor/mathjax/newcm/svg/dynamic/fraktur.js +1 -0
  76. package/vendor/mathjax/newcm/svg/dynamic/greek-ss.js +1 -0
  77. package/vendor/mathjax/newcm/svg/dynamic/greek.js +1 -0
  78. package/vendor/mathjax/newcm/svg/dynamic/hebrew.js +1 -0
  79. package/vendor/mathjax/newcm/svg/dynamic/latin-b.js +1 -0
  80. package/vendor/mathjax/newcm/svg/dynamic/latin-bi.js +1 -0
  81. package/vendor/mathjax/newcm/svg/dynamic/latin-i.js +1 -0
  82. package/vendor/mathjax/newcm/svg/dynamic/latin.js +1 -0
  83. package/vendor/mathjax/newcm/svg/dynamic/marrows.js +1 -0
  84. package/vendor/mathjax/newcm/svg/dynamic/math.js +1 -0
  85. package/vendor/mathjax/newcm/svg/dynamic/monospace-ex.js +1 -0
  86. package/vendor/mathjax/newcm/svg/dynamic/monospace-l.js +1 -0
  87. package/vendor/mathjax/newcm/svg/dynamic/monospace.js +1 -0
  88. package/vendor/mathjax/newcm/svg/dynamic/mshapes.js +1 -0
  89. package/vendor/mathjax/newcm/svg/dynamic/phonetics-ss.js +1 -0
  90. package/vendor/mathjax/newcm/svg/dynamic/phonetics.js +1 -0
  91. package/vendor/mathjax/newcm/svg/dynamic/sans-serif-b.js +1 -0
  92. package/vendor/mathjax/newcm/svg/dynamic/sans-serif-bi.js +1 -0
  93. package/vendor/mathjax/newcm/svg/dynamic/sans-serif-ex.js +1 -0
  94. package/vendor/mathjax/newcm/svg/dynamic/sans-serif-i.js +1 -0
  95. package/vendor/mathjax/newcm/svg/dynamic/sans-serif-r.js +1 -0
  96. package/vendor/mathjax/newcm/svg/dynamic/sans-serif.js +1 -0
  97. package/vendor/mathjax/newcm/svg/dynamic/script.js +1 -0
  98. package/vendor/mathjax/newcm/svg/dynamic/shapes.js +1 -0
  99. package/vendor/mathjax/newcm/svg/dynamic/symbols-b-i.js +1 -0
  100. package/vendor/mathjax/newcm/svg/dynamic/symbols.js +1 -0
  101. package/vendor/mathjax/newcm/svg/dynamic/variants.js +1 -0
  102. package/vendor/mathjax/tex-svg.js +1 -34
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # 更新记录
2
2
 
3
+ ## 2.1.2(2026-11-09)
4
+
5
+ - 在线出题先确定题型,再检索至少两个不同年份的同题型真题。证据不足时补检,或切换到已有两年证据的允许题型。
6
+ - 真题难度无法评定时,答案和大纲范围均经独立核验的题目仍可发布。题目详情与列表显示「未通过真题难度校验」,省去难度分数。明确超纲或难度失真时仍重新命题。
7
+ - MathJax 升级到 4.1.3,使用 New Computer Modern 字形和离线 SVG。调整行内公式基线、独立公式间距和长公式溢出处理。
8
+ - 批量管理时点击整张题目卡片即可勾选。全选或全不选后禁用对应按钮,并精简考试年份选择区。
9
+ - 用本机 DSH 默认模型实测数学一与自定义 408 各只保留一年真题的情形,两科均完成独立答案与范围校验,正常出题并显示难度未校验标记。
10
+
11
+ ## 2.1.1(2026-11-07)
12
+
13
+ - 插件接口通过 DSH Connection 校验会话,复用宿主的来源检查。运行此版本需要支持 Connection Fetch 路由的 DSH。
14
+ - 题库导入保留解析中的编号步骤,预览支持逐题勾选。题干过短或选项不全的选择题不入库,已发布的残缺选择题可以跳过或查看答案后自判。
15
+ - 阅读和完形按单选校验,历史题的无效答案进入待判定。提交超时后按作答 ID 核对保存结果,防止重复计数或静默覆盖选项。
16
+ - 停用科目仍可查看历史、收藏和错题。历史题按最近出题日期排序,初试结束后才切换默认届次。
17
+ - 联网核验同时按考研届次和实际考试年份检索,仅从官方公告正文提取明确的初试起止日期。已实测 2025、2026、2027 三届。
18
+ - 更新插件 Logo,统一标题与侧栏入口图标。侧栏显示启用和停用科目数,倒计时突出剩余天数并简化来源说明。
19
+
3
20
  ## 2.1.0(2026-11-06)
4
21
 
5
22
  ### 出题与考试依据
package/README.md CHANGED
@@ -2,7 +2,21 @@
2
2
 
3
3
  面向 **DeepSeek Harness(DSH)** 的考研练习插件。按科目每天分配一道题,把作答、答案解析、收藏、错题整理和针对本题的追问放在同一个页面中。
4
4
 
5
- 当前版本:**2.1.0**。本插件需要 DSH 宿主,不是独立运行的网站或命令行应用。
5
+ 当前版本:**2.1.2**。本插件需要 DSH 宿主。
6
+
7
+ ## 2.1.2 更新
8
+
9
+ - 在线出题按计划题型检索两年同题型真题,证据不足时补检或切换题型。
10
+ - 难度无法评定时,答案和大纲范围均经独立核验的题目仍可发布,详情和列表显示「未通过真题难度校验」。
11
+ - 公式引擎升级到 MathJax 4.1.3,使用 New Computer Modern 字形和离线 SVG。批量管理支持点击整张题目卡片选择。
12
+ - 完整改动见[更新记录](CHANGELOG.md)。
13
+
14
+ ## 2.1.1 更新
15
+
16
+ - 插件接口接入 DSH 会话鉴权,联网核验按届次和实际考试年份读取官方公告中的初试区间。
17
+ - 题库预览支持逐题勾选,避免将解析步骤或残缺选择题导入为可抽取的题目。阅读和完形按单选校验,提交重试会核对原作答记录。
18
+ - 停用科目保留历史入口,重复题按最近出题日期排序,默认考研届次按初试结束日切换。
19
+ - 统一新版 Logo、科目分组数量和倒计时样式。完整改动见[更新记录](CHANGELOG.md)。
6
20
 
7
21
  ## 2.1.0 更新
8
22
 
@@ -14,7 +28,7 @@
14
28
  - PDF按实际页序提取,采用受限工作线程与资源上限;支持图片试卷识别,扫描PDF仍不提供OCR。
15
29
  - 设置区新增当前版本与npm检查更新,打开页面自动检查,支持手动重查。
16
30
 
17
- **验收边界:** 本次发布通过完整离线回归及安装包内容检查,未重新执行真实浏览器和付费模型联网验收。自主检索为实验性能力:最近记录的408自主检索未取得足够的大纲正文,因此停止发布;不能保证任意科目都能取得可靠公开资料。更多限制见下文及[更新记录](CHANGELOG.md)。
31
+ 自主检索的结果取决于各科目的公开资料。数学一和 408 参考科目另有固定资料来源,详见下文及[更新记录](CHANGELOG.md)。
18
32
 
19
33
  ## 2.0.0 界面与练习功能
20
34
 
@@ -32,7 +46,7 @@
32
46
 
33
47
  ### 环境要求
34
48
 
35
- - 已安装并能运行的 DSH。
49
+ - 已安装并能运行的 DSH,宿主需提供 Connection Fetch 路由接口。
36
50
  - Node.js **20.3.0 或更新版本**(由运行宿主的环境提供)。
37
51
  - 在线出题、答案修订和追问需要宿主配置可用的默认模型。在线出题还需要可用的 `web.search` 与 `web.fetch` 服务,用于读取考试依据。
38
52
  - 公式引擎随包提供,无需单独下载字体或公式依赖。
@@ -42,33 +56,33 @@
42
56
  仓库的 `dist/` 目录提供:
43
57
 
44
58
  ```text
45
- dist/daily-question-2.1.0.tgz
59
+ dist/daily-question-2.1.2.tgz
46
60
  ```
47
61
 
48
62
  在 DSH Desktop 的插件安装入口填写该文件的绝对路径。命令行使用与你运行宿主一致的 profile,例如:
49
63
 
50
64
  ```bash
51
- dsh plugin --profile web add ./dist/daily-question-2.1.0.tgz
65
+ dsh plugin --profile web add ./dist/daily-question-2.1.2.tgz
52
66
  ```
53
67
 
54
68
  Desktop 管理的 `desktop` profile 请通过 Desktop 插件界面操作。安装完成后重启相应宿主或刷新客户端,左侧栏出现「考研每日一题」入口。
55
69
 
56
70
  ### 从 npm 安装
57
71
 
58
- **维护者发布 2.1.0 后**,可以安装指定版本:
72
+ 可以通过 npm 安装指定版本:
59
73
 
60
74
  ```bash
61
- dsh plugin --profile web add daily-question@2.1.0
75
+ dsh plugin --profile web add daily-question@2.1.2
62
76
  ```
63
77
 
64
- DSH Desktop 可在插件安装入口填写 `daily-question@2.1.0`。命令行安装还需满足宿主对包管理器的要求;若提示缺少 pnpm,先安装或启用 pnpm。
78
+ DSH Desktop 可在插件安装入口填写 `daily-question@2.1.2`。命令行安装还需满足宿主对包管理器的要求;若提示缺少 pnpm,先安装或启用 pnpm。
65
79
 
66
80
  ### 从 GitHub 或源码安装
67
81
 
68
- 发布 `v2.1.0` 标签后,可锁定该标签安装;此方式需要 Git:
82
+ 可以锁定 `v2.1.2` 标签安装,此方式需要 Git:
69
83
 
70
84
  ```bash
71
- dsh plugin --profile web add github:Scienmicroit/Daily-Question#v2.1.0
85
+ dsh plugin --profile web add github:Scienmicroit/Daily-Question#v2.1.2
72
86
  ```
73
87
 
74
88
  本地开发也可以直接安装源码目录:
@@ -97,7 +111,7 @@ dsh plugin --profile web remove daily-question
97
111
 
98
112
  自定义科目默认选择「自动检索与核验」,由模型根据名称和可选代码自行搜索资料,不要求开发者逐科适配。仍可选择已有参考考试,或「另行指定参考考试名称…」填写与学习科目显示名称不同的准确考试名称及代码。院校自命题应在名称中包含院校,例如「某大学数据结构」,避免不同学校的801等同代码考试混用资料。所有修改在点击「完成」后统一保存,取消或关闭会放弃草稿。
99
113
 
100
- 自动检索及另行指定的考试使用自主流程:默认模型规划搜索,程序读取实际检索结果与正文附件链接,再由独立调用审查考试身份、大纲正文及至少两年真题。三位考试科目代码(如408)与六位专业代码(如081200)分别处理;专业代码或重号的自命题代码无法唯一确定考试时,必须补充院校及准确考试名称,不会自动套用数学、英语或408。资料不足、身份冲突或无法核对时停止在线出题,题库出题仍可使用。
114
+ 自动检索及另行指定的考试由默认模型规划搜索,程序读取实际检索结果与正文附件,再独立审查考试身份、大纲和真题。三位考试科目代码(如408)与六位专业代码(如081200)分别处理。专业代码或重号的自命题代码无法唯一确定考试时,需要补充院校及准确考试名称。身份或大纲无法核对时,在线出题停止,仍可使用题库。
101
115
 
102
116
  ## 出题与作答规则
103
117
 
@@ -160,7 +174,7 @@ dsh plugin --profile web remove daily-question
160
174
 
161
175
  删除题目会同时清理该题的作答、追问和今日分配引用。包含收藏或错题时,会在普通删除确认之后再要求一次确认。删除不可恢复。
162
176
 
163
- 停用科目或删除题库只会停止相应的后续分配,不会删除已出题目及其作答、收藏和追问;需要永久删除题目时使用列表的删除功能。
177
+ 停用科目或删除题库只会停止相应的后续分配,已出题目及其作答、收藏和追问会保留。有历史题目的停用科目会出现在「已停用科目」中,可继续查看全部、收藏和错题。历史列表按最近出题日期排序。
164
178
 
165
179
  ## 在线出题的范围与难度依据
166
180
 
@@ -176,17 +190,15 @@ dsh plugin --profile web remove daily-question
176
190
 
177
191
  408 的后备来源是[四〇八档案室标注2027的四模块正文](https://zhenti.beokayy.club/outline)。已用独立2027转载PDF的14页逐条比对,并用高校公开的2025版11页正文核对差异,四模块知识点均有支持,未发现实质知识范围冲突。两份2027转载存在标题措辞及转写差异;**这属于多源交叉核对,不是2027官方原书逐字审定,也不能证明“年度无变化”**。运行时核对高教社2027版书目(ISBN `978-7-04-068451-3`),同时核验已检查的网页正文与独立PDF的 SHA-256;正文、PDF或出版社记录不符合固定版本时停止。来源记录和界面明确显示上述限制,不标为官方原文,不发布或打包原书及转载PDF。其他科目目前没有已核对的后备正文来源。
178
192
 
179
- 页面显示实际参考年份、链接、读取方式及检索时间,不把尚未核实的目标年份标成已确认。发现更新年份的官方大纲公告但无法读取正文时停止,不拿旧版替代。至少需要两个不同年份的匹配真题;数学一内置2024、2025年、408内置2024、2023年教育在线试卷地址,避免搜索排名变化导致完全找不到试卷。固定来源不受近三个年份的搜索窗口限制,但仍受年份、科目、正文和独立评审检查。
180
-
181
- 读取网页时先提取正文,再截取长度。图片真题经宿主附件服务传入默认视觉模型,转录题干、选项和公式;408读取来源的全部试卷图片(当前两年各9张,上限12张),覆盖后续组成原理、操作系统与网络,避免只用开头的数据结构题校准其他模块。自主检索的图片试卷同样读取全部图片(上限12张);其余固定渠道每个来源读取前两张图片。至少两道清晰完整题目才使用,裁切、图表缺失或无法辨认的题目跳过;不抄入参考答案。来源保留图片链接、识别告警及覆盖范围;这些是难度对照材料,不代表按考生表现统计的整卷难度。默认模型必须经宿主能力接口确认为支持图片。在线 PDF 使用受域名、公网地址、跳转次数和大小限制的下载通道,复用项目的文本层提取器,不依赖宿主 web.fetch 支持 PDF,也不将文件路径说明误当作 PDF 正文。
193
+ 页面显示实际参考年份、链接、读取方式及检索时间。发现更新年份的官方大纲公告但无法读取正文时,在线出题停止。插件先确定计划题型,再按题型和年份检索真题。证据不足时补检完整试卷及其他年份,也可改用已取得两年有效证据的其他允许题型。数学一和408各保留两个教育在线试卷地址,供检索时一并读取。
182
194
 
183
- 命题模型拿到这些资料后出题;盲解仍只接收题干与选项。答案核验完成后,独立评审调用检查范围、题型、知识点数量、推导步骤、计算量、条件隐含程度和技巧要求;不会收到命题人的难度分或范围自评。评审必须逐字引用已读取的大纲条目和至少两年真题片段,程序会检查引用是否真实存在。
195
+ 图片真题经宿主附件服务传入默认视觉模型。定向检索读取来源提供的全部试卷图片,每个来源最多12张,转录能确认题型的完整题干、选项和公式。转录时跳过裁切、图表缺失或无法辨认的题目,省略参考答案。来源保留图片链接、识别告警及覆盖范围。在线 PDF 使用受域名、公网地址、跳转次数和大小限制的下载通道,再提取文本层。
184
196
 
185
- 最终难度采用独立评审的 1~5 整数评分:基础直接题、典型常规题、中等综合题、较难综合题、高难压轴题。它是对照所检索真题的模型估计,不是按考生正确率标定的统计难度。范围或难度评审失败会反馈重出,仍不通过则不发布;命题人的自评分不会作为最终评分。
197
+ 盲解只接收题干与选项。答案核验完成后,独立评审检查大纲范围、题型、推导步骤和计算量等,不接收命题人的难度分或范围自评。通过难度校验需要引用大纲正文和至少两个年份的同题型真题,程序会核对引用。
186
198
 
187
- 评审输出需保持一致:有阻止通过的问题必须拒绝,`issues` 非空始终不会发布。经核对且不影响本题判断的一般来源限制放入 `warnings`,保留供查看答案后查阅;无法核实资料、缺少有效引用、范围或难度失真不能改成一般提示放行。
199
+ 通过难度校验的题目显示独立评审给出的 1~5 分。确认超纲或难度失真时会重新命题,两轮仍不合格则停止发布。若真题不足或难度评审无法完成,答案和大纲范围均经独立核验的题目仍可发布,详情和列表会显示「未通过真题难度校验」。
188
200
 
189
- 无法读取大纲或真题、宿主没有联网服务、图片识别失败、PDF 没有可提取的文本层或超过 16 MiB 时,会停止在线出题,不降级为凭模型印象生成。图片真题另需宿主附件服务。扫描版 PDF 尚不支持自动逐页渲染;PDF 字体和编码仍可能影响文本提取。可以继续使用题库模式。新机制只影响之后在线生成的题目,不会重新标注已有题目的难度;答案修订仍核验正确性,不重估既有题干难度。
201
+ 图片真题需要宿主附件服务和支持图片的默认模型。扫描版 PDF 暂无自动逐页渲染,PDF 字体和编码也可能影响文本提取。新机制适用于之后在线生成的题目,已有题目保留原难度记录。
190
202
 
191
203
  ## 导入题库
192
204
 
@@ -194,7 +206,7 @@ dsh plugin --profile web remove daily-question
194
206
 
195
207
  在线 PDF 和题库 PDF 均按实际页树顺序提取,在受限工作线程中解析,单份解析含排队最多20秒;限制单流展开8MiB、累计展开32MiB、1000页及400万量级字符。最多同时解析2份,排队最多8份且总大小不超过64MiB;达到限制会明确报错,可缩小文件或稍后重试。
196
208
 
197
- 建议按下面的结构组织 Markdown,以题号或分隔线区分题目:
209
+ 建议按下面的结构组织 Markdown,以「第 N 题」或分隔线区分题目。解析中的普通编号列表会随解析保留。
198
210
 
199
211
  ```markdown
200
212
  ## 第 1 题
@@ -219,15 +231,15 @@ D. 4
219
231
  解析:结合闭区间紧致性与连续函数的性质说明结论。
220
232
  ```
221
233
 
222
- 导入答案标记为「待核验」,缺少答案的题目标记为「缺少答案」。导入成功只表示解析完成,不代表参考答案已经验证。
234
+ 导入答案标记为「待核验」,缺少答案的题目标记为「缺少答案」。题干缺失或过短、选择题有效选项不足时,预览会标记「不入库」。确认前可以逐题取消勾选。导入成功只表示解析完成,参考答案仍需核对。
223
235
 
224
236
  ## 公式、代码与日期
225
237
 
226
- 题干、选项、答案、解析和追问支持 Markdown,包括代码围栏、表格、图片、行内公式和独立公式。MathJax 3.2.2 使用 SVG 输出,随包提供;题目列表只预览前两行,完整内容进入详情查看。
238
+ 题干、选项、答案、解析和追问支持 Markdown,包括代码围栏、表格、图片、行内公式和独立公式。MathJax 4.1.3 采用 New Computer Modern 字形并输出 SVG,引擎和所需资源随包提供。题目列表只预览前两行,完整内容进入详情查看。
227
239
 
228
240
  公式基准字号固定,长公式可横向滚动,保留上下标和分式的正常排版比例。代码块保留缩进与换行。界面包含轻量动效,并尊重系统的「减少动态效果」设置。
229
241
 
230
- 考研年份使用入学年份口径,例如 **2028 考研对应 2027 年末的初试**。日期区分官方公布、估算和尚未核实;估算日期标注「约」。联网核验只采信教育部、研招网与教育考试院的指定官方域名。
242
+ 考研年份使用入学年份口径,例如 **2028 考研对应 2027 年末的初试**。日期区分官方公布、估算和尚未核实,估算日期标注「约」。联网核验按考研届次和实际考试年份检索教育部、研招网和教育考试院,只采用官方公告正文明确给出的完整初试起止日期。
231
243
 
232
244
  倒计时第一行显示剩余总天数,中间一行按 **365 天为一年、30 天为一个月**拆分,并省略数值为零的单位,例如「1年23天」「3个月」「2年」;剩余不超过 30 天时隐藏中间一行。这一拆分是显示换算,不是自然月的日历差。
233
245
 
@@ -302,13 +314,13 @@ npm test
302
314
  npm pack --pack-destination dist
303
315
  ```
304
316
 
305
- 2.1.0 对应产物为 `dist/daily-question-2.1.0.tgz`。建议将确认过的安装包同时作为 GitHub Release 附件,并直接发布同一份文件到 npm:
317
+ 2.1.2 对应产物为 `dist/daily-question-2.1.2.tgz`。建议将确认过的安装包同时作为 GitHub Release 附件,并直接发布同一份文件到 npm:
306
318
 
307
319
  ```bash
308
320
  npm login --registry=https://registry.npmjs.org/
309
321
  npm whoami --registry=https://registry.npmjs.org/
310
- npm publish ./dist/daily-question-2.1.0.tgz --access public --registry=https://registry.npmjs.org/
311
- npm view daily-question@2.1.0 version --registry=https://registry.npmjs.org/
322
+ npm publish ./dist/daily-question-2.1.2.tgz --access public --registry=https://registry.npmjs.org/
323
+ npm view daily-question@2.1.2 version --registry=https://registry.npmjs.org/
312
324
  ```
313
325
 
314
326
  按 npm 提示完成浏览器登录与发布验证。发布账号需要拥有 `daily-question` 包的发布权限;若该版本已经发布,不可用相同版本号覆盖。GitHub 标签、npm 版本和安装包版本应保持一致。