尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Siyuan v3.6.5 版本解析:data-task 索引优化、Editor 细节改进与 Protyle 开发者 API 演进

Siyuan v3.6.5 版本解析:data-task 索引优化、Editor 细节改进与 Protyle 开发者 API 演进 Siyuan v3.6.5 版本解析data-task 索引优化、Editor 细节改进与 Protyle 开发者 API 演进【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan本文基于 Siyuan 仓库中 v3.6.5 的官方变更记录v3.6.5.md展开逐条解析该版本 14 项功能增强、11 项缺陷修复与 1 项运行时重构背后的技术含义并结合当前仓库源码说明data-task任务标记、--b3-font-family-kbd字体变量、openTab与switchMode开发者 API 的实际实现位置帮助读者理解这个“细节改进型”版本如何同时覆盖移动端体验、编辑器内核、数据索引与插件生态。版本概述一个以“细节打磨”为主线的版本v3.6.5 的官方概述只有一句话“This version improves some details.”此版本改进了一些细节。从 变更记录 的完整条目来看这个版本的改动分布有明确的层次类别数量关注点Enhancement功能增强14数据历史语义、移动端外观与工具栏、任务列表索引、快捷键、代码块行号性能、数据索引、输入法兼容、剪藏扩展Bugfix缺陷修复11iOS 滚动跳转、IFrame 块、属性视图资源字段、大纲刷新、Cookie 超长认证、安全漏洞等Refactor重构1升级 Electron 至 v40.9.1Development开发者 API3独立窗口卸载插件修复、openTab增加doc.mode参数、Protyle 实例新增switchMode方法这类版本的价值在于它把编辑器内核data-task 索引、代码块行号渲染、平台层Electron 升级、移动端 WebView 行为与插件 API 三条线的历史遗留问题集中收口。下面按主题逐组展开。功能增强逐条解析数据历史标签、书签与资源重命名记为 Replace 操作将标签、书签和资源的重命名视为数据历史中的Replace操作issue #17407SiYuan 的数据历史data history用于记录工作区中各类实体的变更轨迹。此前重命名一个标签、书签或资源asset可能产生“删除旧名 新增新名”两条记录使历史噪音大且难以追溯。该版本将这类重命名统一语义化为单条Replace操作历史回放与对比时能直接看出“旧名 → 新名”的对应关系而不是两条孤立条目。对依赖数据历史做审计或回溯的用户来说这是一次操作语义的修正。任务列表项的data-task标记改进 Markdown 索引改进任务列表项中data-task标记的 Markdown 索引issue #17502这一条是 v3.6.5 中最有源码纵深的一项。SiYuan 的任务列表在 DOM 上通过data-task属性表达勾选状态取值是 未勾选或X已勾选并配合data-marker、data-subtypet等属性。在当前仓库中可以直接看到这套约定wysiwyg/list.ts 中通过taskItemElement.getAttribute(data-task)读取状态点击切换时在 与X之间写入新任务项的模板为div>// app/src/protyle/index.ts第 597-599 行 public switchMode(mode: TEditorMode) { setEditMode(this.protyle, mode); }即switchMode(mode)将目标编辑模式编辑模式/预览模式等类型TEditorMode委托给内核的setEditMode统一处理。插件开发者可以在运行时以编程方式切换某个 Protyle 实例的模式而不必操纵 DOM 或依赖 UI 入口配合上面openTab的doc.mode构成“打开即指定模式、打开后可切换模式”的完整控制链路。独立窗口中卸载插件报错独立窗口standalone windows中uninstall插件报错issue #17509修复了插件独立窗口在卸载流程中的异常属于插件生命周期管理在“独立窗口”这一特殊载体下的健壮性补洞。如何在仓库中继续深入验证阅读完本版本记录后可以在当前仓库中沿以下路径核对实现细节均以仓库根目录为起点任务项data-task状态机app/src/protyle/wysiwyg/list.ts、app/src/protyle/wysiwyg/turnIntoList.ts、app/src/protyle/util/editorCommonEvent.tsswitchMode开发者 APIapp/src/protyle/index.ts--b3-font-family-kbd主题变量定义app/appearance/themes/daylight/theme.css、app/appearance/themes/midnight/theme.css桌面端运行时依赖app/package.json本版本原始变更记录英文/简中/繁中v3.6.5.md、v3.6.5_zh_CN.md、v3.6.5_zh_CHT.md。小结与升级建议v3.6.5 没有引入大型新功能但它把“任务列表状态在索引链路中的正确性data-task”“移动端编辑体验滚动、工具栏、行内样式”“编辑器内核稳定性表格撤销、IFrame 块、大纲刷新”“桌面运行时Electron v40.9.1”与“插件 APIdoc.mode、switchMode”五件事一次做完。对使用者最直接的收益是 iOS 端不再跳顶、标签/书签/资源重命名在数据历史中语义清晰、安全漏洞得到修复对插件开发者openTab的doc.mode参数与 ProtyleswitchMode方法让“模式控制”第一次成为可编程的一等能力。如果你仍在 v3.6.4 或更早版本升级到 v3.6.5 及后续版本是低风险且收益明确的其中包含安全修复建议尽快跟进。【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表