昨天晚上 10 点半左右,一个 mdview 用户,专门添加微信,要求直接付费。送她激活码也不要,纯粹为了支持。
我开心了一晚上。
为了证明不是瞎编的,微信截图处理了一下发出来。


然后今天一早看到上面这个评论,感觉挨了一记闷棍。好吧,你可能真的不是我这个产品的用户,不管怎样,感谢你指出产品的问题,我会继续改进。
本来应该就此打住,然而出于技术人员的本能,还是想逐一回复每个问题:
1. “一打开就关联 `.md`”,这个的确有些霸道,但是不这样做,可能我又需要去回答许多用户的另一个问题,为什么我安装了 mdview ,双击 md 文件没有效果?就算我加了一个醒目的解绑的按钮,自动绑定的行为,肯定会用用户不满的,这个我接受。还是看产品好不好用吧。之前有用户也吐过槽,自行解绑了,但是解绑一天之后,又加回来了。
2. “体积小”,的确是 mdview 的一个特点,因为除了使用 rust + WebView 的技术之外,为了保持 2M 安装包的身材,专门设计了按需加载第三方 js 库(只会加载一次),除了 highlight 库,还有 mermaid 库,脑图库,mermaid 可视化编辑库。可能许多用户都用不到这些库,因此也不会弹出下载界面。如果把这些库都内置了,2M 的安装包,早就撑不住了。
3. “`---` 被视作一个大纲项,之后的 headers 会被折叠,这又不是 YAML ,令人费解的设计”
Markdown 里 --- 有三种身份,我们按 CommonMark 判定:文首成对 --- 才是 YAML ;上一行是段落且中间没有空行时,--- 是二级标题的下划线( Setext ),上一行会变成 H2 ;只有上面已经是空行/标题时,才是分割线 <hr>。
所以下面这种写法:
这一节先讲背景
---
### 安装
「这一节先讲背景」会变成 H2 ,进目录,折叠这一项时后面的 ### 会一起收起来。看起来像 --- 进了大纲,其实进大纲的是被它升级的那一行。
要画分割线,中间空一行即可:
这一节先讲背景
---
### 安装
***、___ 也只会当横线,不会变成标题。
YAML 我们只认文首那一对围栏,正文中间的 --- 不会当 front matter 。这件事上我们和 GitHub / VS Code 预览一致,所以我们不会改解析规则。
如果你那边是「空行之后的 --- 仍出现在目录里」,把那一段源码发我,那才是需要查的 bug 。
4. “inline code 的 left margin 0 像素”,这的确是个问题,没有注意到,下个版本修复。