guopenghui / obsidian-language-learner

MIT License
631 stars 59 forks source link

【bug】每次提交新词,间隔复习插件的复习记录会被覆盖删除 #83

Closed ku-zhen closed 1 year ago

ku-zhen commented 1 year ago

我的建议是:保留现有的全局刷新复习数据库的命令,而每次自动刷新则将新单词附加到.md文档的末尾。

guopenghui commented 1 year ago

能否提供一个可以复现的例子,比如新建一个库,然后复现在添加哪个词时,复习数据库中的那个或哪些词的记录会消失。

然后在设置里面把数据库全部导出来发给我,我来测试一下。

之前也有人说有记录消失的情况,但是没有复现过程我也不知道问题在哪。按照正常的程度逻辑,之前的复习记录会保留的。

ku-zhen commented 1 year ago

问题原因

Hello,经过试验,我得到了问题产生的原因:我在间隔复习中将复习时间记录在每一行的末尾,而非另起一行(如图),这可能导致和您设计的字符串匹配模式不一致,进而重写了所有数据。

image

希望能够增加该模式的支持,另起新行存储数据容易破坏MD的列表语法,谢谢~

复现步骤

  1. 启动obsidian内置沙箱库
  2. 安装spaced repetition 插件,并将作者您的插件解压到plugins文件夹
  3. spaced repetition 插件的设置面板中,启动前面图片的设置
  4. 随意添加几个单词,然后使用插件复习测试,得到复习数据
  5. 然后再添加新词并刷新数据库
  6. bug产生
ku-zhen commented 1 year ago

https://user-images.githubusercontent.com/61906420/211258938-e0d22832-b028-4258-9c8d-7fd5f2fab7d8.mp4

guopenghui commented 1 year ago

image

没发现会破坏列表格式呀,<!--xxx--> 标记就是一个注释,markdown不会渲染这个东西,实时渲染模式下也没影响。

ku-zhen commented 1 year ago

除了多行卡片,间隔复习还支持单行卡片和完形填空。另外两种方式,例如在中间的某个列表挖个空,会导致下面层级的列表失效

---原始邮件--- 发件人: @.> 发送时间: 2023年1月9日(周一) 下午4:18 收件人: @.>; 抄送: @.**@.>; 主题: Re: [guopenghui/obsidian-language-learner] 【bug】每次提交新词,间隔复习插件的复习记录会被覆盖删除 (Issue #83)

没发现会破坏列表格式呀, 标记就是一个注释,markdown不会渲染这个东西,实时渲染模式下也没影响。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

ku-zhen commented 1 year ago

除了多行卡片,间隔复习还支持单行卡片和完形填空。另外两种方式,例如在中间的某个列表挖个空,会导致下面层级的列表失效 ---原始邮件--- 发件人: @.> 发送时间: 2023年1月9日(周一) 下午4:18 收件人: @.>; 抄送: @.**@.>; 主题: Re: [guopenghui/obsidian-language-learner] 【bug】每次提交新词,间隔复习插件的复习记录会被覆盖删除 (Issue #83) 没发现会破坏列表格式呀, 标记就是一个注释,markdown不会渲染这个东西,实时渲染模式下也没影响。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***> 例如: image

ku-zhen commented 1 year ago

image

image

guopenghui commented 1 year ago

这个文件不太适合搞太复杂的复习格式,单词的更新、复习数据的读取都需要单词表示格式的统一,方便做正则匹配。

ku-zhen commented 1 year ago

我的意思是,在ob里使用间隔复习插件复习其他内容需要复杂的格式,不仅仅用来背单词😂。

---原始邮件--- 发件人: @.> 发送时间: 2023年1月9日(周一) 晚上8:04 收件人: @.>; 抄送: @.**@.>; 主题: Re: [guopenghui/obsidian-language-learner] 【bug】每次提交新词,间隔复习插件的复习记录会被覆盖删除 (Issue #83)

这个文件不太适合搞太复杂的复习格式,单词的更新、复习数据的读取都需要单词表示格式的统一,方便做正则匹配。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

YIRU69 commented 1 year ago

同样的问题,同样的困扰,希望 @guopenghui 能解决这个问题