Commit graph

82 commits

Author SHA1 Message Date
Dusk
0047e79ec7 docs: refine bilingual README 2026-04-29 20:48:36 +08:00
Dusk
7a73d1cda8 chore(release): prepare Obsidian community submission
中文: 完善上架材料并清理公开仓库中的本地路径配置,同时保持构建产物同步安全。

English: Prepares release materials and cleans local path configuration while preserving safe build artifact sync.
2026-04-29 20:17:40 +08:00
Dusk
6f7636da55 fix(sync): rebuild cached all-cloze cards
中文: 修复全库同步复用旧缓存时漏掉 #anki-cloze-all 模式,确保旧 sequential 状态会强制重读并触发重建。

English: Force unchanged vault-sync files to be re-read when cached cloze state missed the all-cloze marker, so sequential-to-all shrink rebuilds can run and clear stale empty cards.
2026-04-28 13:19:01 +08:00
Dusk
5c1bf809b2 fix(cloze): rebuild notes when cloze numbers shrink
在挖空数量减少时重新构建笔记,以确保 Anki 中的卡片正确更新。

Rebuild notes when cloze numbers shrink to ensure Anki cards are updated correctly.
2026-04-28 00:03:27 +08:00
Dusk
4ad25b28a7 feat(cloze): add all-cloze card variant
中文: 新增填空题(全部挖空)变种,支持 #anki-cloze-all 并复用现有填空题模板与主字段。

English: Adds an all-cloze variant using #anki-cloze-all while reusing the existing Cloze note type and main field mapping.
2026-04-27 23:04:16 +08:00
Dusk
b77d4b6332 chore(qa-group): remove managed model remnants
中文: 删除托管 QA Group 12 死代码,统一保留用户自选笔记模板与字段映射路径。

English: Removes dead managed QA Group 12 code and keeps user-selected note templates and field mappings as the active path.
2026-04-27 22:03:52 +08:00
Dusk
98d64dac21 fix(release): clean remaining pre-release state issues
中文: 修复 pendingWriteBack 持久化加载,丢弃旧 Semantic QA 状态,并修正发布链接与多级列表问答文案。

English: Preserves pendingWriteBack state loading, drops old Semantic QA state, and fixes release links and QA Group wording.
2026-04-27 21:11:48 +08:00
Dusk
a9033664b8 Finalize pre-release cleanup 2026-04-27 19:54:49 +08:00
Dusk
771cf9c0cb docs(audit): review plugin improvement opportunities
中文: 基于真实代码审查整理插件可完善方向、风险点和后续开发优先级。

English: Reviews plugin improvement opportunities, risks, and prioritized next steps based on real code inspection.
2026-04-26 23:16:19 +08:00
Dusk
c0c2551753 fix(settings): default scope to selected folders
中文: 将插件运行范围默认值改为仅在指定文件夹,并同步旧配置加载测试与构建产物。

English: Change the plugin run scope default to selected folders only, update persistence/default tests, and refresh the production bundle.
2026-04-26 22:42:38 +08:00
Dusk
dfccdcbfc5 fix(settings): use native CTA buttons
中文: 将设置页操作按钮改为 Obsidian 原生 ButtonComponent CTA,移除自定义按钮样式覆盖,并更新测试与构建产物。

English: Use native Obsidian ButtonComponent CTA buttons for settings actions, remove custom button style overrides, and update tests and build output.
2026-04-26 20:48:13 +08:00
Dusk
c9e80d4034 fix(settings): keep toggles native
中文: 恢复设置页开关使用 Obsidian 原生样式,仅保留操作按钮主题色背景,并更新相关测试与构建产物。

English: Restore native Obsidian toggle styling in settings, keep themed backgrounds for action buttons only, and update related tests and build output.
2026-04-26 20:42:46 +08:00
Dusk
31cde1c88a Style settings page buttons and toggles using Obsidian theme colors
Scope styling to plugin settings page. Use Obsidian theme colors for buttons and toggles to ensure visual consistency.

在插件设置页面应用内容样式,使用 Obsidian 主题颜色。
将样式作用域限定在插件设置页面,并使用 Obsidian 主题色适配按钮和开关,确保视觉效果统一。
2026-04-26 17:56:42 +08:00
Dusk
79ddbef838 feat: use Obsidian theme colors for settings page action buttons and toggles
- Settings page action buttons now use Obsidian theme accent colors.
- Settings toggles now have clearer themed states.
- Styling is scoped to the plugin settings page.

功能:设置页面按钮和切换开关现在使用 Obsidian 主题色

- 设置页面的操作按钮现在使用 Obsidian 主题强调色。
- 设置切换开关现在具有更清晰的主题化状态。
- 样式已限定在插件设置页面范围内。
2026-04-26 17:55:23 +08:00
Dusk
8357992ee3 feat(sync): refine QA mappings and cloze output
中文: 优化问答题多级列表字段映射与解析,移除填空题兼容性误判,并调整填空题正文分隔符和设置页展示。

English: Refine QA group field mapping and parser behavior, remove stale cloze compatibility assumptions, and update cloze body separator plus settings UI copy.
2026-04-26 16:55:31 +08:00
Dusk
911949bedc fix(sync): make saved field mappings authoritative
中文: 统一已保存字段映射为同步权威来源,移除填空题对 isCloze 与命名猜测的阻断,并让多级列表问答按已保存 titleField 与 slots 同步。

English: Makes saved field mappings the sync authority, removes cloze blocking based on isCloze and name heuristics, and syncs QA Group cards with saved title and slot mappings.
2026-04-26 11:47:11 +08:00
Dusk
9d0e47e0ca fix(commands): hide rebuild index from user entrypoints
中文: 从命令面板和设置页命令说明中移除重建卡片索引入口,保留底层维护代码。

English: Removes the rebuild index entry from command palette registration and the settings command guide while keeping the underlying maintenance code.
2026-04-26 10:50:02 +08:00
Dusk
2b366bbf1d fix(settings): reorder deck and scope cards
中文: 调整设置页卡片顺序,将卡片牌组设置放在插件运行范围之前。

English: Reorders settings cards so card deck settings appear before plugin run scope.
2026-04-26 10:04:27 +08:00
Dusk
09738b73ef fix(settings): align deck helper text
中文: 将卡片牌组设置中的示例、兜底说明和优先级说明与其他设置文案左对齐。

English: Aligns deck setting examples, fallback copy, and priority helper text with the rest of the settings copy.
2026-04-26 09:58:54 +08:00
Dusk
337d1806b4 fix(settings): soften deck helper copy layout
中文: 将卡片牌组设置中的示例和兜底说明改为轻量辅助文本,并把优先级说明移到卡片底部。

English: Softens deck setting examples and fallback copy into helper text, moving priority copy to the card footer.
2026-04-26 09:52:26 +08:00
Dusk
271253c484 fix(settings): regroup card deck settings
中文: 重组卡片牌组设置分组,统一中文牌组文案,并将文件夹及文件名映射设为默认牌组模式。

English: Regroups card deck settings, normalizes Chinese deck copy, and makes folder-and-file mapping the default deck mode.
2026-04-26 09:35:19 +08:00
Dusk
77e6c33a7d fix(settings): enlarge folder tree disclosure arrows
中文: 将插件运行范围文件夹树的展开箭头放大一倍,并补充设置页测试锁定样式。

English: Doubles the folder tree disclosure arrow size in plugin run scope settings and adds a settings test for the style.
2026-04-26 09:01:58 +08:00
Dusk
23b9b83527 fix(settings): refine plugin run scope tree UI
中文: 将范围设置统一为插件运行范围,并把文件夹选择区调整为对齐稳定的 Finder 式树形 UI。

English: Renames the scope settings to plugin run scope and refines the folder selector into a stable Finder-style tree UI.
2026-04-26 08:50:51 +08:00
Dusk
354e25b4ae chore(settings): refine sync content copy and plugin dist sync
中文: 收束同步内容设置文案,并调整插件构建产物同步逻辑。

English: Refines sync content settings copy and plugin distribution sync behavior.
2026-04-26 08:45:56 +08:00
Dusk
60ef462ad1 feat: 调整正文同步分组顺序并将中文 Cloze 改为填空题 / reorder sync-content sections and rename Chinese Cloze copy to 填空题 2026-04-26 00:20:01 +08:00
Dusk
cb2873e379 fix: 调整卡片类型设置文案与启用计数 / fix card-types copy and enabled count 2026-04-25 23:51:05 +08:00
Dusk
b6e59c8eec feat: 默认折叠设置卡片并迁移 cloze 默认识别 / collapse settings cards and migrate default cloze recognition 2026-04-25 23:16:40 +08:00
Dusk
0955ba952d fix: fixed opaque sticky gap; replaced transparent margin with page header padding; card headers dock below measured page header height; 8px gap is now part of the opaque page header background
修复不透明粘性间隙;
使用页面标题内边距(padding)替换透明外边距(margin);
卡片标题现在停靠在已测量页面标题高度下方;
8px 间隙现在是不透明页面标题背景的一部分。
2026-04-25 22:38:08 +08:00
Dusk
cdfbf2d12c fixed sticky spacing / 修复粘性间距
added a shared sticky gap variable / 添加了共享的粘性间距变量
card headers dock below the page header with a stable 8px gap before and after scrolling / 卡片标题停靠在页面标题下方,滚动前后均保持稳定的 8px 间距
2026-04-25 22:30:19 +08:00
Dusk
c1dbddd9c0 docs: add sticky overlap fix and header docking documentation
docs:添加吸顶重叠修复和页头停靠文档
2026-04-25 21:21:33 +08:00
Dusk
0d0f04aba2 fix(settings): fix settings-page sticky overlap and add opaque page-header mask
- Fixed settings-page sticky overlap issues.
- Added an opaque mask to the page header.
- Card headers now dock correctly below the page header.

修复设置页吸顶重叠问题并添加不透明页头遮罩

- 修复了设置页面吸顶元素重叠的问题。
- 为页头添加了不透明遮罩。
- 卡片头部现在可以正确停靠在页头下方。
2026-04-25 21:21:01 +08:00
Dusk
33a4d29c4d fix(settings): 固定页面级标题栏 / pin page-level settings header
中文: 将设置页顶部标题改为页面级 sticky 白色标题栏,并取消每个卡片标题的 sticky,修复滚动遮挡、正文重叠和边框异常。

English: Convert the settings page title into a page-level sticky white header and remove sticky behavior from section headers to fix scroll overlap, body occlusion, and border artifacts.
2026-04-25 18:33:58 +08:00
Dusk
496cb0fc09 fix(settings): remove sticky header mask wrapper
中文: 移除设置页标题条的外层 sticky 容器和向上遮罩,避免滚动到底部时出现大面积空白边框;改回单层 sticky 标题按钮,并保留放大字号、灰色粗边框和无阴影样式。

English: Remove the sticky wrapper and upward mask from settings section headers to prevent large blank bordered areas near the bottom of the settings page, while keeping a single-layer sticky button with enlarged text, a thicker gray border, and no shadow.
2026-04-25 15:58:30 +08:00
Dusk
997aa5bc14 fix(settings): mask sticky section headers
中文: 为设置页 sticky 标题条增加向上遮罩,并保持标题字号放大、灰色边框加粗、无阴影,避免滚动时设置内容露到标题上方。

English: Add an upward mask for sticky settings section headers while keeping the enlarged title, thicker gray border, and no-shadow styling so scrolled content cannot bleed above the header.
2026-04-25 15:45:51 +08:00
Dusk
daac6a204a feat(settings): use sticky section header bars
中文: 将设置页卡片标题改为整行 sticky 条幅,滚动时提供有背景遮挡的分组标题效果。

English: Turn settings card toggles into full-width sticky section header bars with background coverage while scrolling.
2026-04-25 14:59:51 +08:00
Dusk
e76c107041 feat(settings): 设置页卡片标题 sticky 悬浮 / make settings card headers sticky
中文: 为五个设置页卡片标题按钮增加 CSS sticky 吸附效果,保持原有折叠展开与局部刷新机制,不引入滚动监听。

English: Add CSS-only sticky behavior to all five settings card headers while preserving the existing collapse/expand and local refresh behavior without scroll listeners.
2026-04-25 13:36:07 +08:00
Dusk
9b692b066d fix(settings): stabilize select border rendering
中文: 进一步稳定设置页下拉框边框显示,避免 Anki 映射行中的 select 控件在选择后被裁剪。

English: Further stabilize select border rendering in the settings Anki mapping rows after note type selection.
2026-04-25 13:21:25 +08:00
Dusk
2c86059baf fix(settings): prevent clipped field control borders
中文: 修复设置页下拉框选中后边框被 grid 容器裁剪的问题,避免 note type 控件边框缺失。

English: Prevent grid containers from clipping field control borders after note type selection.
2026-04-25 11:45:12 +08:00
Dusk
024b5cdc79 fix(settings): align card type mapping columns
中文: 将常规问答题、问答题(多级列表)和填空题的 Anki 映射行统一为相同列宽,让输入框视觉上平齐。

English: Use the same column widths for basic, QA group, and cloze Anki mapping rows so their controls align visually.
2026-04-25 11:36:40 +08:00
Dusk
dc07ca9817 fix(settings): tighten QA group mapping row layout
中文: 缩减问答题(多级列表)设置行中模板和题目字段区域的宽度,并让问题/答案字段识别摘要保持单行显示。

English: Tighten the QA group note type and title field columns, and keep the detected Q/A slot summary on one line.
2026-04-25 11:30:56 +08:00
Dusk
ffad94dd18 feat: 优化设置页模板缓存状态 / improve settings template cache status
- 设置页在有缓存时立即显示缓存摘要,并在打开时只做一次轻量 note type freshness 检查
- 手动读取仍负责完整模板与字段刷新,不会在页面打开时读取所有字段
- Add tests and docs for cache summary, stale-cache warning, and failed background checks
2026-04-25 11:18:11 +08:00
Dusk
d46ddb431d feat(settings): simplify QA group field mapping UI
中文: 将问答题(多级列表)的题目字段改为可选择下拉框,并将问题/答案字段摘要简化为只显示已识别组数;同步逻辑保留用户选择的题目字段。

English: Make the QA group title field selectable, simplify the Q/A slot summary to the detected pair count, and preserve the selected title field during sync and cache refresh.
2026-04-25 10:19:11 +08:00
Dusk
3136f50624 feat: automatic Anki note type migration during sync
- Support for QA Group and normal cards migration.
- Preservation of noteId and learning history.
- 自动同步过程中的 Anki 笔记类型迁移
- 支持问答组和普通卡片的迁移
- 保留笔记 ID 和学习历史记录
2026-04-25 09:53:30 +08:00
Dusk
3d82d7fb55 feat: QA Group 重构为用户模板驱动并支持自动字段映射 | Refactor QA Group to user-template-driven route with auto field mapping 2026-04-24 23:47:09 +08:00
Dusk
d8bd1ebf12 fix(settings): keep Anki field row inside cards
中文: 将 Anki 模板、问题字段、答案字段改为三个整体自适应分组,避免最后一组被卡片边界裁切。

English: Group the Anki template, question field, and answer field controls into three adaptive columns so the row stays inside each card.
2026-04-24 18:59:04 +08:00
Dusk
ba04320926 fix(settings): make card field controls fluid
中文: 设置页卡片类型行的模板和字段控件改为自适应宽度,保留同一行布局并减少过宽下拉框。

English: Make card type template and field controls fluid while preserving the single-row settings layout and reducing oversized dropdowns.
2026-04-24 18:50:39 +08:00
Dusk
043a207149 perf(settings): batch cache Anki model fields
中文: 设置页手动读取 Anki 模板时改为批量读取字段并缓存到 data.json,重新打开设置页可直接使用缓存字段。

中文: 修复字段缓存 loadedAt 类型收窄和测试 fake 缺少批量字段接口导致的 production build 失败。

English: Batch-load Anki model fields for settings, cache them in data.json, and reuse cached fields when reopening the settings page.

English: Fix production build failures by narrowing cached loadedAt values and adding the batch field API to test fakes.
2026-04-24 18:38:10 +08:00
Dusk
06492948d9 fix(settings): cache Anki note templates
中文: 优化设置页卡片类型布局,隐藏语义问答题与 AnkiConnect URL;允许多级列表问答题从 Anki 模板中选择笔记类型和字段。

中文: 将手动读取到的 Anki 笔记模板列表缓存到 data.json,设置页重新打开后下拉菜单可直接使用上次读取结果。

English: Refine the settings card-type layout, hide Semantic Q&A and the AnkiConnect URL, and let nested-list Q&A use selectable Anki note types and fields.

English: Cache loaded Anki note templates in data.json so settings dropdowns can reuse the last loaded list after reopening.
2026-04-24 14:59:22 +08:00
Dusk
0fdf9c8ef3 重构设置页为五卡片并统一识别配置 / Cardize settings page and unify recognition config
重构设置页采用五个卡片外壳,提升布局稳定性和局部刷新体验;通过 cardTypeConfigs 驱动各卡片的识别配置,并完成初步的功能测试与验证。 / Refactored settings page into five cards for better stability and partial refresh; unified recognition configurations via cardTypeConfigs with initial testing and verification.
2026-04-24 12:12:10 +08:00
Dusk
c367a772c7 fix(settings): preserve explicit folder selections
中文: 修复设置页文件夹树半选逻辑,子文件夹选择不再自动提升为父文件夹;补充 Anki Heading Sync 插件同步路径说明。

English: Keep child folder selections explicit in the settings tree, render parent folders as indeterminate, and document the Anki Heading Sync plugin sync target.
2026-04-24 10:10:34 +08:00