From 3275799f4f1b6988b4ef1fac6cf010fee4f0ae45 Mon Sep 17 00:00:00 2001 From: insile <39241051+insile@users.noreply.github.com> Date: Fri, 6 Jun 2025 22:20:12 +0800 Subject: [PATCH] 2025/6/6 --- README.md | 4 ++-- manifest.json | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- src/main.ts | 6 +++--- src/modals/LearningModal.ts | 3 +-- versions.json | 2 +- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index c447a05..0bfa836 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # OpenWords -**OpenWords** 是一个用于背单词和单词管理的与 [OpenText](https://opentext.net.cn) 配套的 Obsidian 插件, 安装后插件入口是左侧工具栏上的一个按钮再加上两个绑定命令, 主要功能有生成索引, 背单词, 默写单词, 添加双链等, 其中单词文件使用 OpenText 中的单词库, 而背单词的核心逻辑是 SuperMemo 2 间隔重复算法. 插件完全依赖单词文件及其属性, 没有表格, Json 等外部存储, 启动时会读取所有单词缓存, 更改时会即时写入相应的单词文件并更新缓存. 插件没有设计过多的搜索功能, 提倡使用 Obsidian 内置的搜索功能. 如果您认为本插件有很大帮助, 欢迎微信赞赏支持. 目前等待 Obsidian Bases 推出后进行功能更新 +**OpenWords** 是一个用于背单词和单词管理的 Obsidian 插件, 与 [OpenText](https://opentext.net.cn) 单词库配套设计, 安装后插件入口是左侧工具栏上的一个按钮再加上两个绑定命令, 主要功能有生成索引, 背单词, 默写单词, 添加双链等, 其中单词文件使用 OpenText 中的单词库, 而背单词的核心逻辑是 SuperMemo 2 间隔重复算法. 本插件完全依赖单词文件及其属性, 没有外部存储文件没有记录回答历史 (考虑中), 所以不能做一些记忆曲线拟合, 单词调度看起来很简单朴素, 仅依靠上次回答记录. 插件启动时会读取所有单词缓存, 更改时会即时写入相应的单词文件并更新缓存. 插件没有设计过多的搜索功能, 提倡使用 Obsidian 内置的搜索功能. 如果您认为本插件有帮助, 欢迎微信赞赏支持. 目前等待 Obsidian Bases 正式上线后进行功能更新 ![p7](README/p7.png) @@ -40,7 +40,7 @@ ### 监听同步 -单词库是被监听的, 单词文件的属性修改会和插件缓存保持同步, 手动修改和插件修改都会立即同步. 左下角状态栏实时统计当前单词属性的变化 `新词数 + 旧词数 = 作用域词数`, 特别的索引中的复选框也会和单词文件的 `掌握` 属性同步 +单词库是被监听的, 单词文件的属性修改会和插件缓存保持同步, 手动修改和插件修改都会立即同步. 左下角状态栏实时统计当前单词属性的变化 `新词数 + 旧词数 + 非作用域单词 = 单词库词数`, 特别的索引中的复选框也会和单词文件的 `掌握` 属性同步 ![p1](README/p1.gif) diff --git a/manifest.json b/manifest.json index 2ea89d5..c1d4393 100644 --- a/manifest.json +++ b/manifest.json @@ -1,10 +1,10 @@ { "id": "openwords", "name": "OpenWords", - "version": "1.0.3", + "version": "1.0.4", "minAppVersion": "1.8.10", "description": "用于英语学习中背单词与单词管理的插件", "author": "insile", - "authorUrl": "https://opentext.net.cn/", + "authorUrl": "https://github.com/insile", "isDesktopOnly": false } diff --git a/package-lock.json b/package-lock.json index 2b246e7..f759cc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "openwords", - "version": "1.0.3", + "version": "1.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "openwords", - "version": "1.0.3", + "version": "1.0.4", "license": "MIT", "dependencies": { "dayjs": "^1.11.13", diff --git a/package.json b/package.json index b7c3a60..f387860 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openwords", - "version": "1.0.3", + "version": "1.0.4", "description": "用于英语学习中背单词与单词管理的插件", "main": "main.js", "scripts": { diff --git a/src/main.ts b/src/main.ts index 27f2612..708e116 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,10 +1,9 @@ -import { MarkdownView, Notice, Plugin, TFile, normalizePath } from 'obsidian'; +import { MarkdownView, Notice, Plugin, TFile, normalizePath, moment } from 'obsidian'; import { supermemo, SuperMemoGrade } from 'supermemo'; import { OpenWordsSettingTab } from './settings'; import { LearningTypeModal } from './modals/LearningTypeModal'; import { CardInfo } from './card'; import posTagger from 'wink-pos-tagger'; -import moment from 'moment'; // 插件设置 @@ -42,7 +41,7 @@ export default class OpenWords extends Plugin { settingsSnapshot: OpenWordsSettings; // 插件设置快照 statusBarItem: HTMLElement; // 状态栏元素 allCards: Map = new Map(); // 存储所有单词的元数据 - masterCards: Map = new Map(); // 存储作用域单词的元数据 + masterCards: Map = new Map(); // 存储掌握单词的元数据 enabledCards: Map = new Map(); // 存储作用域单词的元数据 newCards: Map = new Map(); // 存储新单词的元数据 dueCards: Map = new Map(); // 存储旧单词的元数据 @@ -86,6 +85,7 @@ export default class OpenWords extends Plugin { this.registerEvent(this.app.vault.on("delete", (file: TFile) => { if (file.path.endsWith(".md") && file.path.startsWith(this.settings.folderPath)) { this.allCards.delete(file.basename); + this.masterCards.delete(file.basename); this.enabledCards.delete(file.basename); this.newCards.delete(file.basename); this.dueCards.delete(file.basename); diff --git a/src/modals/LearningModal.ts b/src/modals/LearningModal.ts index 1c9c2c4..f386fc8 100644 --- a/src/modals/LearningModal.ts +++ b/src/modals/LearningModal.ts @@ -1,8 +1,7 @@ -import { App, Modal, Notice, TFile, Setting, MarkdownRenderer, Component } from 'obsidian'; +import { App, Modal, Notice, TFile, Setting, MarkdownRenderer, Component, moment } from 'obsidian'; import { SuperMemoGrade } from 'supermemo'; import { CardInfo } from '../card'; import OpenWords from '../main'; -import moment from 'moment'; // 背单词模态框 diff --git a/versions.json b/versions.json index 28e3f1b..278ac9e 100644 --- a/versions.json +++ b/versions.json @@ -1,3 +1,3 @@ { - "1.0.3": "1.8.10" + "1.0.4": "1.8.10" }