FreePlane节点创建日期修改技术方案解析
2025-06-26 23:01:44作者:廉彬冶Miranda
背景介绍
FreePlane作为一款强大的思维导图工具,其节点管理功能十分完善。在实际使用中,用户经常需要根据时间维度对节点进行管理,例如按创建时间筛选、归档或删除旧节点。然而系统默认的创建时间记录机制可能无法满足某些特殊场景需求。
核心问题
当用户需要将某些历史信息导入FreePlane时,这些信息的实际产生时间往往早于节点创建时间。系统默认的创建时间记录方式会导致时间维度管理失效,因此需要技术手段来修改节点的创建日期属性。
技术解决方案
Groovy脚本方案
FreePlane内置支持Groovy脚本,可直接在节点中执行日期修改操作:
// 基础格式:直接设置指定日期
node.setCreatedAt(Date.parse("yyyy-MM-dd","2023-09-24"))
// 完整示例:包含日期解析和设置
pattern = "yyyy-MM-dd"
input = "2023-12-13"
date = Date.parse(pattern,input)
node.setCreatedAt(date)
实现原理:
- 使用Date.parse方法解析字符串日期
- 通过setCreatedAt方法将解析后的日期对象设置为节点属性
- 日期格式需严格匹配"yyyy-MM-dd"模式
注意事项:
- 脚本执行后会返回null,这是正常现象
- 日期格式错误会导致解析失败
- 修改后需刷新视图查看效果
Python扩展方案
对于熟悉Python的用户,可以使用freeplane-python-io库实现更复杂的日期管理:
import freeplane
import datetime
mm = freeplane.Mindmap("mindmap.mm")
node = mm.find_nodes(core="节点内容")[0]
timevalue = datetime.datetime.fromisoformat("2023-12-10")
timestamp = str(int(timevalue.timestamp() * 1000))
freeplane.update_date_attribute_in_node(node._node, date=timestamp, key="CREATED")
mm.save("mindmap.mm")
优势:
- 支持批量操作
- 可结合其他Python数据处理库
- 适合自动化处理大量节点
应用场景建议
- 历史数据归档:将旧资料导入时保持原始时间戳
- 时间维度管理:按实际信息产生时间而非录入时间进行管理
- 定期清理机制:配合时间筛选功能自动清理过期节点
技术细节说明
-
时间格式处理:
- Groovy使用Java的SimpleDateFormat格式
- 推荐统一使用"yyyy-MM-dd"格式避免混淆
- 时区默认为系统设置
-
脚本执行方式:
- 通过"工具-编辑脚本"菜单执行
- 可直接在节点属性中保存常用脚本
- 可创建快捷方式快速调用
-
性能考虑:
- 单个节点修改即时生效
- 批量操作建议使用Python方案
- 大文件操作前建议备份
总结
登录后查看全文
热门项目推荐
相关项目推荐
暂无数据
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
540
3.77 K
Ascend Extension for PyTorch
Python
351
417
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
889
614
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
338
185
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
988
253
openGauss kernel ~ openGauss is an open source relational database management system
C++
169
233
暂无简介
Dart
778
193
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
115
141
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.35 K
758