siyuan/app
Achuan-2 7545c2517f
Improve the outline panel (#15814)
*  实现大纲持久化
- 添加折叠状态变化的实时保存功能
- 在文档更新时恢复折叠状态
- 保存拖拽前的折叠状态并在拖拽后恢复
- 更新本地存储结构以支持折叠状态

* 🎨 clean code

*  在`data/storage`文件夹下创建`outline/${docID}.json`文件,存储标题outline展开信息

*  alt click折叠/展开统计标题

* 添加层级控制功能
- 新增层级控制滑条,允许用户展开指定层级

* 🌐 添加多语言支持的展开层级功能

*  f添加层级重置显示功能
- 新增 resetLevelDisplay 方法以重置层级显示状态
- 更新层级控制的初始化逻辑,默认不显示层级
- 在文档切换时重置层级显示状态

* 优化层级控制功能
- 添加用户主动层级控制标记
- 修改层级显示重置逻辑,仅在非用户操作时重置
- 更新层级控制滑条的点击事件处理

* ♻️ 重构大纲存储逻辑
- 合并大纲存储为单一文件 outline.json

* ♻️ outline.json 单行存储

* ♻️ outline.json参考recent-doc.json,只存储前1000个文档信息,每次新增信息会把数据放在最前面

* ♻️单行存储json

* ♻️ 增加outline.json存储限制至2000个

*  新增`保持当前标题展开`按钮,`保持全部展开`改为`全部展开`按钮

*  保持当前标题展开优化
- 超过两级折叠,也能都展开
- 如果父节点折叠,展开时自动折叠兄弟节点,只展开当前节点路径,如果父节点是展开状态,则不影响兄弟节点折叠状态

* 🔥 移除层级文本

*  右键点击toggle时展开所有子标题

*  右键click点击折叠图标,会折叠/展开所有子标题

*  大纲支持筛选功能

*  feat(大纲): 优化筛选功能以显示所有子标题
- 添加 showAllDescendants 函数以显示所有子标题
- 修改 processUL 函数以在父标题命中时显示所有子标题
- 确保未命中的子标题隐藏

*  优化大纲筛选

- 如果标题命中筛选,这个标题的所有父标题展开,以显示出这个标题位置
- 如果父标题命中筛选,子项都没有命中筛选,则折叠全部子项(依然可以展开显示)
- 如果父标题命中筛选,子项也有命中筛选,则展开命中的子项,其他无关子项隐藏

* 💄 展开层级改为按钮,原先的圆点样式碍眼

* 💄 展开层级改为按钮,原先的圆点样式碍眼

* 💄 style(菜单): 优化展开层级菜单的样式和位置
- 添加图标以增强可视化
- 调整菜单弹出位置以改善用户体验

* ♻️ refactor(大纲): 优化标题级别获取逻辑
- 调整展开到指定层级的逻辑,使用标题级别进行判断

* 🎨

*  feat(大纲): 添加右键菜单功能
- 实现右键点击标题时显示上下文菜单
- 增加标题升级、降级、插入、删除等操作
- 基于标题级别展开/折叠同级标题

*  feat(大纲): 添加子标题功能
- 在右键菜单中添加“添加子标题”选项
- 实现子标题的添加逻辑,支持最大级别为H6
- 使用当前标题作为父标题,插入新子标题

*  feat(大纲): "添加子标题"确保父标题展开状态

*  feat(大纲): 使用expandIds方式保存父标题展开状态
- 确保父标题保持展开状态
- 保存展开状态到持久化存储
- 移除冗余的状态保存逻辑

*  feat(大纲): 调整右键菜单顺序,将“全部折叠”功能移至“全部展开”之后

* 🌐 i18n optimization
2025-10-15 10:01:47 +08:00
..
appearance Improve the outline panel (#15814) 2025-10-15 10:01:47 +08:00
appx 🔖 Release v3.3.5 2025-10-14 11:30:04 +08:00
changelogs 📝 Update changelogs 2025-10-14 11:28:13 +08:00
electron 🎨 Prompt when the user attempts to create a workspace in the root directory of the disk https://github.com/siyuan-note/siyuan/issues/15976 2025-09-29 17:04:03 +08:00
elevator 🎨 Support one-click addition of Microsoft Defender exclusions https://github.com/siyuan-note/siyuan/issues/13650 2024-12-28 23:36:56 +08:00
guide 📝 Improve User Guide (#15986) 2025-09-30 09:42:47 +08:00
nsis 🎨 Prompt and block installation when a workspace exists in the Windows desktop installation path https://github.com/siyuan-note/siyuan/issues/14864 2025-05-22 21:13:30 +08:00
pandoc ♻️ Upgrade to Pandoc v3.5 https://github.com/siyuan-note/siyuan/issues/12750 2024-10-11 12:20:09 +08:00
src Improve the outline panel (#15814) 2025-10-15 10:01:47 +08:00
stage ⬆️ Upgrade lute 2025-10-13 12:04:24 +08:00
.npmrc Update pnpm to 9.1 (#11423) 2024-05-16 08:39:07 +08:00
electron-builder-arm64.yml 🐛 Font folder not packaged on macOS/Linux/Windows arm64 https://github.com/siyuan-note/siyuan/issues/14119 2025-02-18 08:53:51 +08:00
electron-builder-darwin-arm64.yml 🐛 Font folder not packaged on macOS/Linux/Windows arm64 https://github.com/siyuan-note/siyuan/issues/14119 2025-02-18 08:53:51 +08:00
electron-builder-darwin.yml 🐛 Font folder not packaged on macOS/Linux/Windows arm64 https://github.com/siyuan-note/siyuan/issues/14119 2025-02-18 08:53:51 +08:00
electron-builder-linux-arm64.yml 🎨 Improve linux target build 2025-02-23 17:12:05 +08:00
electron-builder-linux.yml 🎨 Improve linux target build 2025-02-23 17:12:05 +08:00
electron-builder.yml 🎨 Support one-click addition of Microsoft Defender exclusions https://github.com/siyuan-note/siyuan/issues/13650 2024-12-29 12:25:36 +08:00
eslint.config.mjs 🚨 2025-02-24 11:28:04 +08:00
package.json 🔖 Release v3.3.5 2025-10-14 11:30:04 +08:00
pnpm-lock.yaml ⬆️ 2025-10-02 12:07:14 +08:00
pnpm-workspace.yaml ♻️ Upgrade to Electron v34.5.2 https://github.com/siyuan-note/siyuan/issues/14660 2025-04-20 11:11:12 +08:00
tsconfig.json 🎨 https://github.com/siyuan-note/siyuan/issues/11782 2024-10-23 11:47:06 +08:00
webpack.config.js https://github.com/siyuan-note/siyuan/issues/15734 2025-09-01 11:13:53 +08:00
webpack.desktop.js https://github.com/siyuan-note/siyuan/issues/15734 2025-09-01 11:13:53 +08:00
webpack.export.js https://github.com/siyuan-note/siyuan/issues/15734 2025-09-01 11:13:53 +08:00
webpack.mobile.js https://github.com/siyuan-note/siyuan/issues/15734 2025-09-01 11:13:53 +08:00