logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

KaTeX 公式渲染容错实战:环境语义映射与拼写自动纠错(鸿蒙编辑器 LaTeX 支持)

本文实战解析 MarkPin 编辑器中 KaTeX 公式渲染容错设计:针对 \begin{multiline} 等环境名报错,通过“环境语义映射 + Levenshtein 拼写纠错 + 报错不白屏”三层机制,在不修改源码前提下实现容错。结合真实取证与升级评估,验证了方案在兼容性、安全性与用户体验上的有效性,践行“用户意图优先、不掩盖真错误”的设计原则。

#harmonyos#编辑器#华为
鸿蒙权限模型实战:Markdown 图片跟随文档的五层落位设计(spike 实验推翻两条铁律)

本文记录鸿蒙权限模型下 Markdown 图片跟随文档的五层落位设计。核心思路是"能静默的全静默,弹窗推迟到保存":先判定文档目录能否静默写,能则直接落 `assets/`,不能则进暂存仓库、引用照写终态路径,配合"引用名 ≡ 暂存名"的显式不变式实现重启自愈。两轮 spike 实验推翻了项目早期"父目录不可写""写公共目录必须申请权限"两条铁律,验证了权限文档 ≠ 实际行为。五种权限处境全部按设

#人工智能#harmonyos#编辑器
鸿蒙权限模型实战:Markdown 图片跟随文档的五层落位设计(spike 实验推翻两条铁律)

本文记录鸿蒙权限模型下 Markdown 图片跟随文档的五层落位设计。核心思路是"能静默的全静默,弹窗推迟到保存":先判定文档目录能否静默写,能则直接落 `assets/`,不能则进暂存仓库、引用照写终态路径,配合"引用名 ≡ 暂存名"的显式不变式实现重启自愈。两轮 spike 实验推翻了项目早期"父目录不可写""写公共目录必须申请权限"两条铁律,验证了权限文档 ≠ 实际行为。五种权限处境全部按设

#人工智能#harmonyos#编辑器
编辑器双栏滚动同步实战:从比例同步到行块锚定(鸿蒙 ArkWeb 预览闪烁根治)

本文复盘 MarkPin 编辑器双栏滚动同步的三场硬仗:① 跟随——比例同步因两侧内容高度不等价必然错位,改为按内容行块锚定、完全可见即不动;② 对齐——点右栏定位左栏但不夺焦点,并用一次性抑制标志解决回环;③ 闪烁——ArkWeb 特有、Chrome 复现不出的每字符闪跳,经十五个版本取证(monkey-patch 抓写入栈、读数对照、状态快照)锁定为全量重建的中间态帧,最终以增量同步通道根治。

#harmonyos#华为#人工智能
编辑器双栏滚动同步实战:从比例同步到行块锚定(鸿蒙 ArkWeb 预览闪烁根治)

本文复盘 MarkPin 编辑器双栏滚动同步的三场硬仗:① 跟随——比例同步因两侧内容高度不等价必然错位,改为按内容行块锚定、完全可见即不动;② 对齐——点右栏定位左栏但不夺焦点,并用一次性抑制标志解决回环;③ 闪烁——ArkWeb 特有、Chrome 复现不出的每字符闪跳,经十五个版本取证(monkey-patch 抓写入栈、读数对照、状态快照)锁定为全量重建的中间态帧,最终以增量同步通道根治。

#harmonyos#华为#人工智能
鸿蒙 ArkUI 文件树实战:树状态丢失、懒加载断链定位与列表滚动边界(ArkTS 状态管理 V2)

本文记录 MarkPin 文件树三轮攻坚的完整过程。批次一解决整树重建导致展开状态丢失的架构问题,通过持久化树结构 + 懒加载 + 增量重建显示列表修复;批次二解决懒加载断链导致"定位"静默失败的问题,采用按 URI 反解路径逐段补链重试;批次三应对 ArkUI 列表横竖滚动互斥的硬边界,用"恒定外包"方案绕行。

#harmonyos#编辑器#人工智能
鸿蒙 ArkUI 文件树实战:树状态丢失、懒加载断链定位与列表滚动边界(ArkTS 状态管理 V2)

本文记录 MarkPin 文件树三轮攻坚的完整过程。批次一解决整树重建导致展开状态丢失的架构问题,通过持久化树结构 + 懒加载 + 增量重建显示列表修复;批次二解决懒加载断链导致"定位"静默失败的问题,采用按 URI 反解路径逐段补链重试;批次三应对 ArkUI 列表横竖滚动互斥的硬边界,用"恒定外包"方案绕行。

#harmonyos#编辑器#人工智能
CodeMirror 6 代码块渲染踩坑:一个空行毒死全文档(鸿蒙编辑器卡片化/折叠/点击进源码)

本文复盘 MarkPin 编辑器代码块渲染态改造中踩过的四个坑:① 一个空首行因装饰排序违反 CodeMirror `startSide` 约束,异常兜底清空全文档装饰,导致"一个空行毒死全文档";② 折叠态两个高度陷阱(0.5px 行高偏差、行框 strut 撑住卡片不收缩);③ 点击进源码态光标系统性偏一行,最终绕开不可信的 `posAtCoords`,用确定性映射接管点击;④ 卡片底色 z

#harmonyos#编辑器
CodeMirror 6 代码块渲染踩坑:一个空行毒死全文档(鸿蒙编辑器卡片化/折叠/点击进源码)

本文复盘 MarkPin 编辑器代码块渲染态改造中踩过的四个坑:① 一个空首行因装饰排序违反 CodeMirror `startSide` 约束,异常兜底清空全文档装饰,导致"一个空行毒死全文档";② 折叠态两个高度陷阱(0.5px 行高偏差、行框 strut 撑住卡片不收缩);③ 点击进源码态光标系统性偏一行,最终绕开不可信的 `posAtCoords`,用确定性映射接管点击;④ 卡片底色 z

#harmonyos#编辑器
鸿蒙 Markdown 编辑器表格所见即所得:七个版本的渲染重构(CodeMirror Decoration 实战)

本文复盘鸿蒙 Markdown 编辑器表格所见即所得功能的七版迭代(v1000037→v1000043)。核心问题在于表格视觉是跨行的整体属性,逐行渲染在架构上即错,因此重构为整块 Widget 渲染;随后主战场转向坐标映射,通过拆分相对/绝对坐标修复了单元格串表、复制错位等缺陷;复制格式经用户实测从 tab 分隔改为 Markdown 源码。

#harmonyos#编辑器#重构
    共 21 条
  • 1
  • 2
  • 3
  • 请选择