DevLog:2025年9月10日

1、关于Markdown渲染三方库,Cursor之前建议了SwiftUI-Markdown和MarkdownUI,但追问之后它更建议使用MarkdownUI,原因在于它完全基于SwiftUI构建,与项目架构完美匹配,且渲染性能更好,维护活跃,API简洁,支持表格、代码块、链接等所有常用的Markdown功能,说的这么好,实际用起来如何还得测试一下
2、除了AI问答之外,我还希望能将MarkdownUI用在备忘录模块,并且实现所见即所得的渲染,不再使用预览和编辑双视图,Cursor表示完全可以,并且所见即所得的渲染正是MarkdownUI的优势之一,优势包括:内容变化时自动重新渲染、可以只显示渲染后的效果,无需双视图、渲染流畅、支持所有Markdown语法、可以自定义样式和主题
3、Cursor还给出了三种实现方案,纯预览模式(类似Notion)、混合模式(小区域显示原始Markdown代码)、编辑模式,个人比较倾向于第一种,希望能够解决这段时间一直没能解决的AI对话、备忘录对Markdown语法的渲染问题
4、先修改备忘录模块,这次Cursor创建了一个使用MarkdownUI的备忘录编辑器组件MarkdownEditorView,并且修改了其它关联文件来使用这个组件,移除不再需要的工具栏和预览切换功能,因为MarkdownEditorView已经内置了这些功能,然后通过Swift Package Manager添加了MarkdownUI库,据称已经实现了真正的所见即所得编辑体验
5、测试发现备忘录界面有一行多余的“备忘录编辑器”,另外备忘录的内容显示有问题,当切换到不同备忘录时,内容没有正确更新,然后我还发现在打开某条备忘录,并且在列表中右键删除这条备忘录时,右侧应该显示“选择一个备忘录开始编辑”的界面,而不是仍然能看到已经删除的备忘录,Cursor移除了MarkdownEditView中的if !isEditing的条件判断,确保当外部内容改变时,编辑内容总是会更新,然后移除了NoteEditView工具栏中的“备忘录编辑器”文字(但现在仍然还有多余的修改时间,也需要删掉),并且修改了NotesListView来监听备忘录列表的变化
6、然后优化了备忘录页面的标题显示,备忘录列表顶部固定显示“备忘录”三个字,备忘录详情顶部根据我选中的备忘录标题而变化,未选中任何备忘录时则显示“备忘录”三个字
7、我其实不需要现在的编辑按钮,更倾向于直接点击备忘录内容区域就能编辑,所见即所得,并实时保存修改,类似Notion,明天看看Cursor能否在继续使用MarkdownUI的前提下实现这一功能

发表回复