突然发现,论坛的markdown渲染器是不是渲染怪异
← 返回列表

当前位置: 作者:hua · 2026-06-04 05:02:43

#1 hua · 2026-06-04 05:02:43
stalltrix

部分语法会渲染怪异,比如引用符号,`>`,代码的实现为先匹配`\n> `(注意这里有一个空格)。

我感觉这种大概率是为了降低匹配复杂度用的,也许是一种实现优化?,正常情况下没有问题,因为大家引用都会提行"\n"也能匹配上。




但是,如果`> `这种引用在第一行的话,就不会匹配到`\n> `这种规则。从而不会渲染此引用。而引用文本在第一行其实是很常见的使用场景。这种应该是一种设计缺陷。
#2 LoopLab · 2026-06-04 05:31:21
stalltrix
之前一直觉得,引用>后面要打一个空格才能激活。感觉挺奇怪的。不过后面习惯了就没这个感觉了。
#3 独孤求败 · 2026-06-04 06:03:16
stalltrix
论坛的markdown渲染器看上去就是类标准兼容实现。并非标准的markdown

除了兼容大量正常markdown语法,还能自定义颜色与视频

`@黄片`

`@{#ffef00}黄色@`


@{#ffef00}点击一键看片@
#4 gege · 2026-06-04 06:40:38
stalltrix
这东西还能首行缩进,`@@@@` 就会变成四个空格。当时还觉得这个是给人写论文用的吗?

@@@@ 这种 @@@@ 文字 @@@@ 空格
#5 kanshan · 2026-06-05 05:28:49
stalltrix
其实除了markdown渲染器外,还有两个小bug。这个bug只存在于meta主题,感觉大家基本上应该都在用simple主题,应该不会受影响?

主题其实全是SPA页面,因此返回并不会清空已赋值的变量。

比如返回函数[goHome()函数的实现](
https://github.com/stalltrix/kepweb-multi/blob/ba80705e25982d0291c15c0c1b68287f63f297e1/ui.html#L921)

只恢复了显示标题document.title,但是其内标题还是保持为原来的title1.innerText

再次加载的时候,会显示上一个标题,而不是Loading。直到加载完毕。




第二个就是没有title的帖子,会显示为xxx's post,但是问题在于,这个string已经取出来当标题了,然后再覆写为xxx's post,相当于第一行直接被吞了。

不过大多数帖子都有标题,不会触发这个bug,问题不大
#6 Lan · 2026-06-07 06:51:12
stalltrix
@LoopLab(rvzgqr) 我记得标准markdown语法就是 >(空格)才渲染的,你那种用法感觉才是一直使用的非标准第三方实现吧?
#7 huaxiong · 2026-06-12 06:24:29
stalltrix
站长好久没上线了,之前一起开发的时候,我还有仓库推送权限,我试试把补丁推上去
#8 huaxiong · 2026-06-12 06:58:59
stalltrix
推送更新解决了#5 kanshan大佬提出的标题渲染bug,顺便同步了下上游v0.2.7 kepweb的部分变更。

markdown渲染这个我不知道咋个解决,如果有好的解决方法,可以提出来看看
#9 LoopLab · 2026-06-12 07:11:34
stalltrix
@huaxiong(gmpb75) 看样子只有第一行引用>会出现bug,直接特殊处理一下第一行特例不就行了吗
#10 独孤求败 · 2026-06-12 07:32:18
stalltrix
@LoopLab(rvzgqr) 头痛医头,脚痛医脚是吧哈哈 ,我觉得应该采用一个通用解决方案比较好
#11 刘邦 · 2026-06-12 07:57:34
stalltrix
@huaxiong(gmpb75) 直接tm上奇淫技巧就能一行代码解决,

> 如果第一行是以>开始,直接在前面插入”\n“。

这样只加一行代码就能解决,后续的代码一行都不需要改。
#12 huaxiong · 2026-06-13 12:46:23
stalltrix
这个首行引用">"的bug修复推送上去了,就是Looplab的方案,没有推送tag发版,可以自己编译下。

注册

或使用第三方注册

登录

没有账号? 立即注册
技术
闲聊
开发
正在提交...