Obsidian_to_Anki:基于 Obsidian 生态的 Anki 闪卡生成工具项目

Script to add flashcards from text/markdown files to Anki

分支13Tags51
文件最后提交记录最后更新时间
2 年前
5 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
5 年前
2 年前
5 年前
2 年前
2 年前
2 年前
5 年前
5 年前
5 年前
5 年前
2 年前
2 年前
2 年前
5 年前
5 年前
5 年前
2 年前
2 年前
2 年前

Obsidian 向 Anki

此插件用于从文本或 Markdown 文件中添加闪卡至 Anki。您可以在 Obsidian 中作为插件运行,或者通过命令行以 Python 脚本的形式使用。设计时充分考虑到与 Obsidian 的 Markdown 语法兼容性。支持用户自定义的闪卡语法

可前往Trello,了解规划中的功能详情。

开始使用

请访问Wiki,其中包含丰富的信息,包括新用户的安装指引。我会在这里附上一份操作指南:

安装流程

所有用户

  1. 启动 Anki 并进入您想要使用的配置文件。
  2. 确认已安装 AnkiConnect

使用 Obsidian 插件的用户

  1. 下载并安装 Obsidian
  2. 在 '社区插件' 列表中搜索此插件
  3. 安装插件
  4. 进入 Anki,并导航至 工具 -> 插件 -> AnkiConnect -> 配置,将其更改为如下所示:
{
    "apiKey": null,
    "apiLogPath": null,
    "webBindAddress": "127.0.0.1",
    "webBindPort": 8765,
    "webCorsOrigin": "http://localhost",
    "webCorsOriginList": [
        "http://localhost",
        "app://obsidian.md"
    ]
}
  1. 关闭并重新打开 Anki 应用程序以应用以上更改
  2. 在 Anki 背景运行的情况下加载插件,这会生成插件设置界面。

未来在没有运行 Anki 的情况下启动 Obsidian 不再需要额外操作,当然使用插件仍需 Anki 支持!

要运行插件,请查找工具栏上的 Anki 图标(此处通常包含“开启图表视图”和“快速切换器”等按钮)。 如欲了解更多操作细节,欢迎查阅Wiki

使用 Python 脚本的用户

  1. 安装最新版本的 Python
  2. 新用户应下载来自发布页面obstoanki_setup.py 文件,并放置于您希望脚本所在的位置(例如笔记文件夹) 5. 双击执行 obstoanki_setup.py 来自动安装最新版脚本及其依赖项。现有用户可通过执行他们现有的 obstoanki_setup.py 文件获取更新。
  3. 检查权限标签下方的信息确保脚本能正常运行。
  4. 双击运行 obsidian_to_anki.py 来生成配置文件 obsidian_to_anki_config.ini

权限要求

该脚本需要能够:

  • 在脚本所在目录创建配置文件
  • 读取使用脚本所在目录下的文件
  • 在使用脚本所在目录下创建备份文件
  • 更改所在目录内文件名
  • 删除使用脚本所在目录内的备份文件
  • 暂时改变当前工作目录(以正确解析本地图片路径)

功能列表

以下为主要特性(更多详细信息请参考 Wiki):

  • 自定义卡片类型 — 您可以使用超出 Anki 内置六种卡片类型的个性化样式。
  • 自定义扫描目录
    • 默认情况下,插件会对整个知识库进行扫描
    • 您也可以通过插件设置指定需要扫描的目录(包括所有子目录)
  • 忽略特定文件夹和文件
    • 您可以设定被排除在外的文件及文件夹
    • 此类设定可在插件选项中使用Glob 表达式完成
    • Globster 提供在线测试环境:链接
    • 示例包括:
      • **/*.excalidraw.md — 忽略所有以.excalidraw.md结尾的文件,避免对这些文件进行扫描,因为它们可能会导致缓慢响应。
      • Template/** — 忽略所有位于 Template 目录(含子目录)下的文件
      • **/private/** — 忽略所有名为 private 的文件夹(无论其位置)
      • [Pp]rivate*/** — 忽略根目录下开始于 privatePrivate 的所有文件和文件夹
  • 从文件实时同步笔记 — 文件是笔记内容的最权威来源。
  • 标签管理,以及针对整份文件的一致性标记。
  • 按文件分配到指定牌组
  • Markdown 格式化
  • 数学公式格式化
  • 嵌入式图像 — 包括GIF动画。
  • 音频文件插入
  • 根据文件删除相应笔记
  • 自动遍历目录文件 — 包括递归处理!
  • 简写笔记 — 单行短语快捷录入方式。
  • 便捷填空题格式化 — 使用紧凑语法实现 Cloze 填空文字。
  • 冻结字段
  • 与 Obsidian 的深度整合 — 包含对生成闪卡原文件的链接,完整支持链接及图片嵌入。
  • 自定义语法 — 采用 正则表达式,您可以添加个性化的语法来创造符合自己需求的笔记。一些示例包括:
    • 单行 RemNote 风格:这是如何使用::Remnote单行风格 Remnote 示例
    • 头段落风格。
    # 风格介绍
    此风格适合将标题作为正面,答案作为反面
    
    头段落风格
    • 问答模式。
    Q: 如何利用这种风格?
    A: 就像这样。
    
    问答风格
    • Neuracache #flashcard 风格。
    在 Neuracache 方式中,制作闪卡只需做#flashcard
    接下来的数行即成为闪卡背面的文字
    
    Neuracache 风格
    • 分割线风格。
    如何使用分割线风格?
    ---
    卡片正反两面之间至少要有三个破折号。
    
    分割线风格
    • Markdown 表格风格。
    | 为什么这种风格可能有用? |
    | ------ |
    | 当使用 Markdown 编辑器呈现为 HTML 格式后,看起来相当美观。 |
    
    表格风格
    • Cloze 段落风格。
    这个{Cloze 段落风格}的想法是要识别出含有{Cloze 文字删除}的所有段落。
    
    Cloze 风格

请注意,默认情况下所有自定义语法均处于停用状态,您需通过配置文件编程来启用 — 具体方法参见 Wiki。

赞助一杯咖啡吧 @ ko-fi.com

项目介绍

脚本来将文本/Markdown文件中的闪卡添加至Anki软件中【此简介由AI生成】

定制我的领域
92.04 K201访问 GitHub