问题标签 [anki]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
31 浏览

csv - 如何将这些文本段转换为 CSV?

我正在尝试用带有问题和答案的 html 标记的文本文件制作 CSV 文件。不幸的是,我已经尝试过,但无法在 LibreOffice 或任何其他 CSV 兼容软件中打开它。我想要做的是转换这样的东西:

等等。

结果应该是:

*SEPARATOR 不能是颜色或分号,因为问题可能包含最重要的字符(冒号、分号、点)

我想导入 Anki,它支持 CSV 文件。

我尝试用# 之类的特殊符号分隔问题和答案,并且仅在 LibreOffice/OpenOffice 中解析问题,并且问题文本永远不能包含换行符。如果文本包含换行符,CSV 就会混乱。

0 投票
1 回答
270 浏览

mathjax - MathJax 文本全部显示在一行中

我喜欢在 Anki 中使用 MathJax。它给人以极大的审美乐趣:)

但是,当我使用以下方法编写更长的内容时:

\(\text{...}\)

Anki 将其全部显示在一行中。如何让它适应窗口大小?

或者,最好是如何更改样式(在卡片之间共享)以类似于 MathJax 样式?


Linux

0 投票
0 回答
62 浏览

python - pyqt5封装的C++对象是否还存在

我正在使用 PyQT5 处理 python3 代码。

有时,我有一个 PyQT5 对象o,我想知道它是否包装了一个已被删除的对象。因为,否则,当我尝试访问它时,我收到以下错误“ foo类型的包装 C/C++ 对象已被删除”。

我的目标是关闭所有打开的窗口,所以如果对象已经关闭,那就完美了。我只需要检测仍然打开的窗口。

我知道一个理想的词,我应该自己跟踪打开/关闭的窗口,所以这不应该是问题。但是,我不允许更改 API,而且我们的 API 不需要窗口在关闭时执行任何操作,因此如果不使用 API 破坏一些附加组件,我就无法跟踪。

此外,如果答案可以使用标准库,那就太好了,因此我不必在我正在编写的插件中导入其他库,并且它可以保持较小。

0 投票
2 回答
1089 浏览

android - 如何从我的应用程序中正确识别 AnkiDroid(或任何其他外部应用程序)的文件存储目录?

我使用 AnkiDroid API 创建卡片并将卡片发送到 AnkiDroid 应用程序(https://github.com/ankidroid/Anki-Android/wiki/AnkiDroid-API)。但是有一个问题与通过 API 发送媒体文件有关。它们存储在外部存储中,在我的例子中是“/storage/emulated/0/AnkiDroid”。我可以从那里添加和读取文件,但我认为其他设备的路径可能不同,或者如果我切换到 SD 卡。问题:如何正确识别应用程序外部存储目录的路径?

0 投票
1 回答
1383 浏览

ubuntu - Anki 上的 LATEX 无法正常显示;Ubuntu 18.10

伙计们-我正在尝试显示如下基本命令(许多示例之一):

下面的和是否收敛?[latex]\begin{displaymath}\sum_{k = 1}^{\infty}\frac{1}{k}\end{displaymath}[/latex]

但是它会产生以下错误:

下面的和是否收敛?执行 dvipng 时出错。生成文件:/tmp/anki_temp/tmp.tex

这是 pdfTeX,版本 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) 已启用限制 \write18。进入扩展模式(./tmp.tex LaTeX2e <2018-04-01> 补丁级别 5(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls 文档类:文章 2014/09/29 v1.4h 标准 LaTeX 文档类 (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo)) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc. sty) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/ share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty 有关 amsmath 的更多信息,请使用 `?' 选项。 (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext. sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen. sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (. /tmp.aux) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) [ 1] (./tmp.aux) ) 输出写入 tmp.dvi(1 页,536 字节)。写在 tmp.log 上的成绩单。

我已经安装了运行 Anki(版本 2.1.5 Qt 5.9.2 PyQt 5.9)和“sudo apt install texlive-latex-extra”的 Ubuntu 18.10。

任何帮助将不胜感激。

0 投票
3 回答
2764 浏览

javascript - JavaScript 在 Anki 2.0 版本中有效,但在 2.1 版本中无效

我正在使用 Anki 帮助我五年级的儿子学习数学。我儿子已经到了需要复习如何处理具体问题而不是简单地记住事实的地步。

例如,假设您正在尝试学习如何将分数相乘... .45 X .61 = ?

我需要一种将随机数学问题放入 Anki 卡片的方法。这意味着有一天卡片会显示 .45 X .61 = ? 下次显示卡片时,问题可能是.. .34 X .12 = ?

在网上搜索之后,我找到了一篇解释如何做到这一点的文章......

我不是 JavaScript 开发人员,但在我用头敲击键盘一周后,我能够让这项技术发挥作用。

让我解释一下你是如何做到这一点的,然后我会解释问题出在哪里。

安装 Anki 2.0 版本。

打开 Anki 并创建一个新牌组。

将一张新卡添加到套牌中。

出现添加卡对话框。最顶部是两个长按钮……“Type”和“Deck”。单击左侧的“类型”按钮。

出现选择注释类型对话框。

单击对话框底部的“管理”按钮。

选择基本注释类型,然后单击左侧的“添加”按钮。

第一个选项应该是“添加基本”。单击对话框底部的“确定”按钮。

命名您的新笔记类型..“脚本笔记类型”,然后单击“确定”

命中逃跑。

现在选择您的新注释类型(“脚本注释类型”),然后单击“选择”。

现在我们要添加一个额外的字段。默认情况下,此注释类型具有名为“Front”和“Back”的字段。我们要添加名为“脚本”的第三个字段。

左上角附近有一个标有“字段”的按钮。单击此按钮。

出现另一个对话框。左侧是一个添加按钮。点击它。

在出现的对话框中输入脚本,然后单击“确定”按钮。

现在通过单击右侧按钮附近的关闭按钮关闭当前对话框。

现在让我们设置卡片。当前屏幕的左上角附近有两个按钮。右侧的按钮标有“卡片”。单击此按钮。

这是我们设置卡片模板的地方。JavaScript 代码的一部分进入前端模板。目前这里应该有以下文字...

{{正面}}

删除所有内容并粘贴以下代码。

此 JavaScript 采用我们将放置在“脚本”字段中的 JavaScrippt 代码并使用 eval 语句执行它。

请注意,在这段代码中,persist 函数使 Anki 卡的正面和背面之间的值保持一致。我的问题与此持久功能有关。

在屏幕底部三分之一处是一个“返回模板”。删除所有内容并粘贴以下代码...

点击右下角的“关闭”按钮。

现在我们需要填写这些字段。前面和后面的值无关紧要。我把“Front”放在前面,“Back”放在后面。

对于 Script 字段,我们要添加一些代码。在粘贴代码之前,我们需要打开 HTML 视图。确保您的光标位于脚本字段中。

在 Anki 2.0 版本中,屏幕右上方有一个带有向下箭头图片的按钮。2.1 版本有“...”而不是向下箭头按钮。

单击此箭头,将出现一个菜单。选择“编辑 HTML”菜单选项。

粘贴以下代码...

这适用于 Anki 2.0 版本。

这是问题

问题

这是答案...

答案

我们在 JavaScript 中生成了一个随机数,该值保存在 Anki Card 的正面和背面之间。这为使用随机数的数学和科学 Anki 卡片开辟了无限可能。

然而,Whoville 的情况并不好。

当您在 Anki 2.1 版本上运行此代码时,它不起作用。

Anki 2.1 错误

绕过脚本并显示 Front 和 Back 字段的静态值。

JavaScript 仍在执行中。我可以在 Script 字段中放置一条警告语句,它可以工作。

问题出在 Persist 函数中。较新版本的 Anki 不喜欢 Persist 功能。

谁能指出我正确的方向。

0 投票
0 回答
189 浏览

html - Anki Cards 中的 HTML 条件样式

我正在用 Anki 制作卡片来教我的孩子拼读。我想在“bad”这个词中强调“a”。 屏幕截图

如何使用条件样式将“a”变为红色?

0 投票
0 回答
466 浏览

javascript - Anki Javascript 代码适用于 Mac Desktop 和 AnkiDroid,但不适用于 Anki(Ipad/Iphone 版本)

我很久以前从网上获得的这段代码适用于具有多个 {{cloze}} 的预制卡片。它适用于 Mac(桌面版)和 AnkiDroid。但无法在 Anki (Ipad/Iphone) 版本上运行。尝试了一切,但似乎无法使其工作。ps 我不是程序员。此代码是从在线站点复制的,我不记得从哪里来的。

尝试通过一些 JS 编辑器运行它,我得到的唯一结果是语法错误:未知令牌 >“不知道这意味着什么。

正面模板

样式模板

返回模板

希望它可以在 ipad/iphone anki 版本上运行。它检测到正面卡片上的第二个或更多完形填空文本并将其突出显示为绿色。

这就是编辑车的样子。它有 2 个 {{cloze}} 文本。

这是它应该做的。一个完形填空是隐藏的。第二个完形填空是绿色的。在姐妹卡上,第二个完形填空将被隐藏,第一个将显示为绿色

这就是 Anki(ipad 版本)的作用。←这是我不想要的

0 投票
0 回答
502 浏览

anki - 如何将视频添加到我的 anki 闪存卡?

我的手机中有一些视频(不是在 youtube 上),我想将它们添加到我的 Anki 闪存卡中。我怎样才能做到这一点?我在我的计算机(ubuntu)上使用 anki 2.0,不想升级到 2.1,因为我想继续使用 2.1 尚不可用的完形填空重叠器

我尝试上传到谷歌驱动器并使用这样的链接替换 ​​youtube 链接:

0 投票
0 回答
39 浏览

html - 在 X 次换行后截断

我正在做一个anki(它支持卡片模板的html和css)模板,我想整合从字典中解析的例句。问题在于,通常要显示的示例太多。

典型的“{{examples}}”字段的内容如下所示。

如您所见,每个例句都以“►”或“・”开头,并以“”结尾

是否有一种方法可以截断整个字段以仅显示前三个示例,并使用“显示更多”按钮来显示其余示例?

当前模板:

正面

CSS

背部