更新日志 1.3.X
版本 1.3.0
版本 1.3.0 - 新功能、重构、主要改进和用户体验优化。
🐛 Bug 修复:
- 修复 Bug #70,自动编号行为现已修复。
⭐ 新功能:
- 全新的设置标签页,具有分组设置和子面板,使设置比以前更方便。不再有烦人的滚动。
- 图表引用(来自 Alicecomma 的 功能 #7)现已支持,包括标题、编号和描述。
- 标注引用,我们可以将表格添加到标注中并对其进行引用。此功能还为您提供了引用表格、文本片段甚至定理的灵活性(引用标注中的所有表格以进行引用)。
- 为图表和标注添加 PDF 导出支持。
- 添加公式管理面板,允许您检索特定公式的所有引用,并跳转到它们的位置
- 大纲视图、筛选和折叠:支持列表视图和大纲视图。
- 拖放引用:现在可以从公式管理面板拖放公式来进行引用。
- 支持通过拖放进行跨文件引用
- 拖放无标签公式时提示
- 切换文件和编辑器中输入时动态更新面板
- 交互式:支持双击跳转和 Ctrl + 双击(新面板+跳转)
🏗️ 重构:
- 对于设置部分,重构代码并将其拆分为多个模块。
🚀 增强和改进:
- 添加 增强 #50,自动编号公式后重新定位光标的更好行为。
- 跳转到另一个面板中的公式时,现在检查是否已存在该文件的面板,如果存在则在该面板中跳转。
- 调试模式配置现在在重启 Obsidian 后会保留,因此无需每次都切换调试模式。
- 重新制作全新且更简洁的教程。
- 重新制作 Readme 文件,使其更友好和简洁。同时添加中文翻译版 Readme。
版本 1.3.1
版本 1.3.1 - 一些新功能、重构、Bug 修复和许多增强。
⭐ 新功能:
🐛 Bug 修复:
🚀 增强:
- 添加 Eslint Obsidian 插件以便在提交前进行更好的代码检查,提交 PR 前运行
npm run check - 为公式管理面板添加锁定按钮 #88
- 添加增强 #81,添加仅显示标题面板,因此在大纲视图中,我们可以将其用作大纲面板。
- 优化
renderImageCaptions函数,快速输入时不再每次都解析 Markdown。 - 添加增强 #91,当公式块后有内容时停止自动编号。
- 添加彩色标注支持 #88
- 在设置标签页中添加「在图表预览中渲染标题和描述」选项。
- 从高级设置中移除「连续引用分隔符」。
- 移除公式组件的精确宽度和高度设置,改用多种尺寸。
- 移除「显示组件样式」设置,现在组件样式将根据应用的主题自动更改。
🏗️ 审查重构:
- 将
fetch更改为requestUrl用于获取公式 - 修复 async & await 函数
- 移除 quoteRegex 中的 Unicode
- 将
console.log更改为console.debug - 移除不必要的断言
- 在 eventListener 中使用
then替代await以避免 TS 错误 - 修复一些不正确的
debugger.error - 修复 UI 文本大小写
- 重构样式设置,修复样式管理器,从 hoverpopover 中移除样式设置代码。
版本 1.3.2
版本 1.3.2 - 一些新功能、增强、重构和 Bug 修复。
⭐ 新功能:
- 添加 功能 #104,添加按钮以禁止公式面板刷新。
- 添加 功能 #105。在自动编号设置标签页中添加设置,仅对已有标签的公式进行编号。
- 修正将带标签公式插入特定文件时的行为(仅计算光标前的编号)。
- 添加 功能 #107,在公式管理面板中仅显示带标签的公式。
- 修复公式管理面板中标题折叠行为的 Bug,现在点击折叠图标后行为正常。
- 在设置标签页中添加列表视图用于搜索目的。
🚀 增强:
- 使用
MathJax替代MarkdownRenderer来渲染公式(在 PR #108 中),大幅提高性能。 - 移除「锁定到当前文件」按钮,现在「禁用刷新」完成所有工作。
-
新行为:「禁用刷新」将禁用
file和equations的更改,但在以下情况仍会刷新:-
视图模式更改(从
outline到list)或其他视图选择(如sort mode、filter options等) -
搜索查询更改
-
-
此设计更用户友好,同时在刷新过程中不会有文件读取,这提高了大型 Markdown 文件的性能。
-
- 为公式面板打开时的一些默认状态添加设置按钮。
🏗️ 重构:
- 修复 PR #7298 中提到的 Bug
- 更改 README 标题横幅图片。
- 将
innerHTML更改为.empty() - 对于每个
TargetElCompoponent,现在在构造函数中创建并重用它。 - 用
app.vault.process()替换app.vault.modify() - 将 UI 文本更改为句子大小写
- 设置标签页
- 公式面板
- 其他页面
- 避免在设置标签页上渲染标题
- 避免在设置标签页中使用 “Settings”
- 移除检查更新按钮
- 重构区域标题创建,使用
new Settings().setName().setTitle()
- 重构公式管理面板的渲染函数,提高可读性和可维护性。
🐛 Bug 修复:
-
修复 Bug #112,启用「标注内公式自动编号」后公式现在能正确自动编号。
-
修复 Bug #74,自动编号后保留更好的公式书写格式。
-
修复 Issue #113,从 gitignore 文件中移除
.github,然后添加 CI 工作流。 -
修复 Bug #110,PDF 不会被解析用于公式显示。
-
修复更改组件尺寸设置不生效的 Bug。
-
修复 Bug #119,公式面板锁定刷新时跨文件跳转和引用现在正常工作。
-
修复 Bug #118,首次打开文件时面板应正确渲染。
-
修复 Bug #126。
-
当在最后一个公式位置放入文本形成非法公式时,自动编号将停止。
-
修正通知中显示的行号信息。
-
检测单行非法公式。
-
对于某些情况,代码块被计入,导致行号信息不正确。现已修复。
-
版本 1.3.3
版本 1.3.3 - Bug 修复、新功能和增强。
重要更新摘要:
- 图表引用预览现已支持 Excalidraw!
- 图表和标注引用的自动补全现已可用!
- 图表的自动编号和标签重命名现已可用!
- 移动端支持现已可用!
设置更新:
- 为清晰起见,我们将变量名
quoteCitationPrefixes重构为calloutCitationPrefixes。因此您当前的标注引用前缀设置将被恢复。请务必在设置标签页中重新设置「标注引用前缀」以使标注引用正常工作。
⭐ 新功能:
- 图表引用和标注引用的自动补全。
- 自动补全支持 2 种模式:富模式和紧凑模式(查看
设置 > 高级 > 自动补全中显示完整预览)。 - 对于紧凑模式,悬停在自动补全项上将显示图表或标注的预览。(查看
设置 > 高级 > 悬停自动补全项时显示预览)
- 自动补全支持 2 种模式:富模式和紧凑模式(查看
- 图表标签重命名。
- 图表标签自动编号。
- 自动编号或重命名标签后,相关图表引用应随之更新。
- 添加功能 #140,公式管理面板中的框选公式筛选。
- 框选当前公式的命令。
- 添加功能 #143,图表引用现在支持 Excalidraw。
- 图表引用格式现在可以引用区域预览。
- 添加移动设备支持,同时通过了安卓设备测试。
🐛 Bug 修复:
- 修复 Bug #136,为标注中的多行公式添加标签现在正常工作。
- 修复故障 #137,当公式面板文件和当前活动文件不同时,将创建新窗口并跳转到正确位置。
- 修复 Bug #135,在一些折叠标题之前的位置编辑文件时,现在不会展开。
- 修复 Bug #141,嵌套标注现在可以在标注引用预览中正确显示。
- 修复 Bug #142,标注中的图表现在可以在预览中被正确识别和渲染。
🚀 增强:
-
修复设置标签页中重新排序按钮的位置样式。
-
添加命令「插入图表引用」以便快速插入图表引用。
-
悬停在标注和图表的引用上标上现在会显示文件链接。
-
❌ 停止支持网页链接图表的标题,并在快速入门教程中添加了不支持的原因。
-
插件现已在桌面端模拟器上通过测试(
this.app.emulateMobile(true);),同时更改manifest.json以支持移动平台。
🏗️ 重构:
- 重构自动补全建议,添加对图表和标注引用的支持。
- 为更好的代码结构和可读性重构公式面板中的拖放处理器。
- 重构公式面板文件,将大纲视图渲染器提取到单独的文件中。
- 将分类设置标签页中的「其他设置」重命名为「其他」(Obsidian 插件规则)
- 添加
normalizePath()以清理整个插件中的路径(Obsidian 插件规则) - 重构自动编号功能部分以获得更好的代码结构,在图表自动编号中复用并提高可扩展性。
- 为移动端支持移除 Node assert 调用
- 修复大量 Sonar 问题以获得更好的代码质量。
- 将 MarkdownfileProcessor 回调函数更改为同步函数。
版本 1.3.4
版本 1.3.4 - 多平台支持、Bug 修复和改进。
重大更新变更:
- 现在使用可配置的数学渲染器,我们将默认渲染器更改为较慢的以获得更好的稳定性,但仍可以通过
设置 > 显示(分类)> 公式面板 > 公式面板中使用快速数学渲染器使用快速渲染器。
✈️ 全跨平台支持:
- 在 Linux 和 Mac 平台上测试此插件(感谢我的朋友 @Tiddlefox)
⭐ 新功能:
- 右键复制公式(在公式面板和编辑器弹出窗口中均可使用)。
- 在公式面板中显示图表和标注,不仅仅是公式。
- 面板中图表和标注项的更好样式 + 交互。
- 区域视图的正确渲染(更好的缓存存储)。
🐛 已修复的 Bug:
- 修复 Bug #153,全部折叠按钮已合并为一个,现在可以正常工作。
- 将
collapsedHeadings重构为parsedCollapsedHeadings,以防止切换文件时折叠状态无限增长。 - 修复 Bug #152,在某些标题前编辑文件后行号信息将刷新。
- 为
viewStateEqual情况添加data-line重新分配机制。因此在纯文本文件中间编辑时行号信息仍能正确刷新。 - 修复 Issue #151,添加 CSS 以弥补
Obsidian 1.12.4中的样式变化 - 修复所有新的 Sonar 问题以获得更好的代码质量。
- (关键)修复 Critical #157,默认情况下使用较慢但更稳定的 Obsidian 内置渲染器。但
MathJax仍可通过设置 > 显示(分类)> 公式面板 > 公式面板中使用快速数学渲染器使用。
📖 文档:
- 在教程中添加设置使用说明 | 公式面板按钮使用说明 | 富自动补全模式。
- 更新 Readme 的中文翻译
- 重新制作 Readme 文件以完整介绍所有功能。
🔩 改进
- 将「auto-number xxx in quotes」重命名为「auto-number xxx in callouts」以提高清晰度(Issue #154)。
- 从
manifest.json中移除basePath=.以获得更好的兼容性。 - 将某些设置选项中的「Auto numbering」简化为「Auto number」
- 改进自动编号日志:不同自动编号类型显示不同的提示。
- 点击「打开公式面板」按钮将在右侧面板中显示它。
- 更好的 PDF 导出配置:图片的 PDF 导出中可选的标题和描述
版本 1.3.5
Bug 修复和 PDF 导出功能改进,新增:
- 网页笔记导出的主要支持。(NPM 包 + 带元数据的批量导出)
- 主要的 UI 中文翻译支持。(包括设置、命令和工具提示)
- 所有教程、更新日志和 API 文档的网站托管文档。
✨ 新功能:
- 添加功能 #168,当
ref{}为空时将自动补全可用的引用类型。 - 为图片标题和描述添加 Markdown 渲染支持(参见 PR #171)
- 为图片标题和描述的 Markdown 渲染结果添加完整 PDF 支持。
- 添加网页笔记渲染支持:为 PDF 提供元数据注入选项,保留图表的元数据。还将添加详细的引用数据到
- 为 PDF 的图片导出添加更好的间距,防止图片在许多情况下变得拥挤
- 添加批量 Markdown 导出命令「同步仓库到网站笔记文件夹」,将整个仓库同步到目标网站笔记文件夹。
- 在文件浏览器中添加「同步文件/文件夹到网站笔记文件夹」选项,添加「同步当前文件到网站笔记文件夹」命令。
- 在设置标签页中添加选项「渲染图片标题和描述」用于图片标题/描述的渲染
- 添加 #179,支持拖放
- 为设置标签页选项、工具提示和命令的所有 UI 添加中文翻译支持(查看 PR #176)
改进:
- 调整图表预览组件的样式以获得更好的宽度限制,现在查看图表预览组件无需水平滚动。
- 在预览组件中为 Excalidraw/Markdown 区块添加标题和描述。
📖 文档:
- 将教程、更新日志和 API 文档迁移到网页版本。
- 支持网页构建过程中的引用预览/跳转。
- 构建 NPM 包以便轻松集成网页笔记(https://www.npmjs.com/package/@friedparrot/equation-citator)
- 完善文档,将教程/更新日志拆分为几个部分,并添加一些其他有用技巧。
- 为教程和更新日志添加完整中文翻译。
🐛 已修复的 Bug:
- 修复 #162,切换文件时视图状态正确刷新
- 修复 #169,强制在引用前缀中添加冒号
- 修复 #163,切换文件时初始折叠状态将被存储。
- 修复 #164,代码块现在在标注中正确渲染。
- 修复关键 #173,在一行中出现干扰性美元符号的情况下 PDF 导出能正常工作。
- 修复 #172,无元数据导出时图片宽度仍然保留。
- 修复 #175,为图表添加标题和描述时添加对 Excalidraw 原生 SVG 元素的识别
- 修复 #177,标题和描述在选项部分以 Markdown 语法渲染。
- 修复 #178,Obsidian 重新加载或重启后组件尺寸将被保留。
- 修复 #180,管理面板中标注的 Ctrl + 右键行为现已正常。
🏗️ 重构:
- 重构并精简 PDF 导出代码部分
- 重构
getEquationAtCursor和框选当前公式的函数 - 重构图表引用包装函数
- 重构图表标题扩展部分以提高可维护性
- 解决 Sonar 问题,确保推送到主分支后通过代码质量门禁。
版本 1.3.6 - 1.3.7
小问题修复。
确保 Obsidian 插件中"Review"部分的质量达到优秀水平。
已解决的 Obsidian 审查状态问题:
- 重新启用所有规则后解决
npm run check问题 - 使用
activeDocument替代document以获得弹出窗口兼容性。 - 修复 error 或 any 类型值的不安全赋值
- 使用
window.setTimeout()替代activeWindow.setTimeout()。定时器函数应使用window。 - 使用
window.clearTimeout()替代clearTimeout()以获得弹出窗口兼容性。 - 使用
window.clearInterval()替代clearInterval()以获得弹出窗口兼容性。 - 避免使用
globalThis。使用window或activeWindow以获得弹出窗口兼容性。 - 不要导入 Node.js 内置模块 “node:path”/“node:fs/promises”。Node.js API 在移动端不可用。改用动态 import() 或 require(),并用 Platform.isDesktop 进行守卫。
- 使用
.instanceOf(HTMLElement)替代instanceof HTMLElement以获得跨窗口安全的类型检查。 - 修复 README 中未填充的占位符文本
- 移除漏洞咨询依赖(现在所有依赖都是 dev 依赖)
- 使用 document.createElement 替代 Obsidian 的 createEl 辅助函数
🚢 如果您想要以下功能,可以在 Issue 页面提出:
- 在公式管理面板中查看公式、图表和表格的引用。