obsidian to anki不能生成卡片

环境:obsidian 1.1.12; anki 2.1.56; 插件obsidian to anki 最新版本
问题:通过flashcards可以将卡片导入anki,但目前obsidian to anki不行。

调出操控台后,点击obsidian to anki按钮后显示:
Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘hasOwnProperty’)
at FileManager.getFolderPathList (plugin:obsidian-to-anki-plugin:30603:29)
at FileManager.dataToFileData (plugin:obsidian-to-anki-plugin:30634:39)
at FileManager.genAllFiles (plugin:obsidian-to-anki-plugin:30651:36)
at async FileManager.initialiseFiles (plugin:obsidian-to-anki-plugin:30656:9)
at async MyPlugin.scanVault (plugin:obsidian-to-anki-plugin:30958:9)
at async HTMLDivElement.eval (plugin:obsidian-to-anki-plugin:30995:13)

尝试重装obsidian to anki、anki后,问题依旧。求大佬帮忙分析研究!

1 个赞

getFolderPathList这个函数已经不能用了。

要么等插件的作者更新插件,要么看看别人复制的版本里是不是改正了,或者你试着改改也行。

看差了,不是那个函数的问题。

感谢!是对插件的js文件进行修改吗?

*getFolderPathList(*file) {
    let result = [];
    let abstractFile = file;
    while (abstractFile.hasOwnProperty('parent')) {
        result.push(abstractFile.parent);
        abstractFile = abstractFile.parent;
    }
    result.pop(); // Removes top-level vault
    return result;
}

请问应该将getFolderPathList修改成其他哪个函数?

试试把

while (abstractFile.hasOwnProperty('parent'))

改成

while ( abstractFile && abstractFile.hasOwnProperty('parent'))

我没anki,试不了。

1 个赞

特别感谢!晚上修改后,插件使用正常。 :clap:

我也遇到过这个问题,后来回归最简朴的Google Sheet了哈哈哈

非常感谢您的回复,我也修改好了!!顺便帮助后人排除故障,我初次修改的时候,while函数所在行我是直接从帖子粘贴复制的,导致修改后while函数所需要的大括号被我删掉了,导致插件无法再enable。

非常感谢,改了以后重启一下 Obsidian 解决了。

这个可以将插件打包发下吗。不会修改00.0我也是这种情况