mirror of
https://github.com/insile/OpenWords.git
synced 2026-07-22 05:48:39 +00:00
2025/6/6
This commit is contained in:
parent
357bba6fdb
commit
3275799f4f
7 changed files with 12 additions and 13 deletions
|
|
@ -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 正式上线后进行功能更新
|
||||
|
||||

|
||||
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
### 监听同步
|
||||
|
||||
单词库是被监听的, 单词文件的属性修改会和插件缓存保持同步, 手动修改和插件修改都会立即同步. 左下角状态栏实时统计当前单词属性的变化 `新词数 + 旧词数 = 作用域词数`, 特别的索引中的复选框也会和单词文件的 `掌握` 属性同步
|
||||
单词库是被监听的, 单词文件的属性修改会和插件缓存保持同步, 手动修改和插件修改都会立即同步. 左下角状态栏实时统计当前单词属性的变化 `新词数 + 旧词数 + 非作用域单词 = 单词库词数`, 特别的索引中的复选框也会和单词文件的 `掌握` 属性同步
|
||||
|
||||

|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "openwords",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "用于英语学习中背单词与单词管理的插件",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -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<string, CardInfo> = new Map(); // 存储所有单词的元数据
|
||||
masterCards: Map<string, CardInfo> = new Map(); // 存储作用域单词的元数据
|
||||
masterCards: Map<string, CardInfo> = new Map(); // 存储掌握单词的元数据
|
||||
enabledCards: Map<string, CardInfo> = new Map(); // 存储作用域单词的元数据
|
||||
newCards: Map<string, CardInfo> = new Map(); // 存储新单词的元数据
|
||||
dueCards: Map<string, CardInfo> = 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);
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
|
||||
// 背单词模态框
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
"1.0.3": "1.8.10"
|
||||
"1.0.4": "1.8.10"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue