ivarptr / yu-writer.site

A feature-rich, efficient text editor - Web Site
Apache License 2.0
1.2k stars 77 forks source link

代码块内部编写以#号开头的注释出现渲染问题 #561

Closed futeng closed 4 years ago

futeng commented 4 years ago

在代码块里编写注释,如果以#号开头,Edit 编辑器会渲染成了标题。在 View 模式正常。

image

hemashushu commented 4 years ago

@futeng 检查一下是否代码块缺少了闭合行,即三个反单引号,完成的代码块格式如下:

```shell
这里是代码块的内容
```
futeng commented 4 years ago

@ivarptr 是有闭合的。截图如下,原文我摘到 Gist 里,可以全文拷贝,复现测试下。

版本:MAC 0.5.3

image

hemashushu commented 4 years ago

@futeng 我发现在第 7 行 -p /dev 中间的那个空格前面还有一个 \u2080 unicode 字符,把这个字符删除掉就好了,我也不清楚为什么这个字符会影响到编辑器的语法解析。查询了一下 \u2028 这个字符是表示分行符号(Line Separator),暂时不知道它的作用。

Screenshot from 2019-07-31 17-03-06


找到一些其他有关 \u2080 的资料 https://en.wikipedia.org/wiki/Newline#Unicode https://stackoverflow.com/questions/3072152/what-is-unicode-character-2028-ls-line-separator-used-for

futeng commented 4 years ago

@ivarptr 问题根源已经找到:

  1. 我在 iPhone 上对 p 字做了文本替换,替换为换行(iPhone自带键盘没有换行键。通过增加文本替换,键入 p 字时,备选词除了 p 还会出现空白字符,即换行);
  2. Mac 自动同步了该文本替换,且在部分编辑器里面直接做了文本替换;
  3. 现已更改为 ppp了。

这段时间一直在试用各类 Markdown 编写工具,不同编辑器对语法细节的处理会不同,可能受这个认知的局限,下意识认为是 Markdown 渲染的问题,就没有深究下去,非常汗颜。

耽误作者时间了,非常抱歉。


iPhone 上针对换行做了文本替换设置,第二个空白备选词即换行

Mac 上有部分编辑器出现了不规则提示:

image

hemashushu commented 4 years ago

@futeng 哈哈,没事,能找到解决方法就好。我迟些时候也研究一下这个 unicode 的行分隔符和段落分隔符的用法,或许以后 yu writer 就能正常解析它们了,谢谢你的反馈!