欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于 markdown 编辑器替换普通的可视化编辑器时,前台展示问题大家如何解决

程序员文章站 2022-04-14 19:28:01
...
如题我现在有两种思路:
第一种,使用 js 进行前台处理 缺点是对搜索引擎不友好,个人感觉搜索引擎可能对 markdown 文本亲和性不高。
第二种,在输出时对 markdown 文本进行转换成 html,这样可以做到代码的一致性,后端输出到前端的代码都是 html,但这种有一个 bug 如果是自己的框架可以大肆更改使其支持 markdown 转换,但是如果给别人开发插件,或者开发框架已经做好了,在 view 中大面积的转换有些困难的,要怎么处理。

第一种我在蝉知 markdown 编辑器扩展中已经实现了,最近一直在思考第二种 如何简单有效的来控制内容输出,我遇到了问题:
1、如何判断一个字符串内容为 markdown 文本内容
2、在不更改 view 模板的情况下如何批量的对 markdown 内容进行转换

鉴于以上,希望跟大家交流下关于 markdown 展示的方案。
ps:
蝉知 markdown 编辑器使用的是 editmd 作为 markdown 输入和输出。

扩展源码可通过 http://git.oschina.net/hainuo... 获取

回复内容:

如题我现在有两种思路:
第一种,使用 js 进行前台处理 缺点是对搜索引擎不友好,个人感觉搜索引擎可能对 markdown 文本亲和性不高。
第二种,在输出时对 markdown 文本进行转换成 html,这样可以做到代码的一致性,后端输出到前端的代码都是 html,但这种有一个 bug 如果是自己的框架可以大肆更改使其支持 markdown 转换,但是如果给别人开发插件,或者开发框架已经做好了,在 view 中大面积的转换有些困难的,要怎么处理。

第一种我在蝉知 markdown 编辑器扩展中已经实现了,最近一直在思考第二种 如何简单有效的来控制内容输出,我遇到了问题:
1、如何判断一个字符串内容为 markdown 文本内容
2、在不更改 view 模板的情况下如何批量的对 markdown 内容进行转换

鉴于以上,希望跟大家交流下关于 markdown 展示的方案。
ps:
蝉知 markdown 编辑器使用的是 editmd 作为 markdown 输入和输出。

扩展源码可通过 http://git.oschina.net/hainuo... 获取

个人更倾向于第一种方案。
首先,这样更利于前后端分离。比如前端适配多种展示样式时,后端可以不改动代码。
其次,对于你说的搜索引擎收录的问题,我想就算是Markdown文本,其可读性也是很好的。再者,随着目前越来越多的网站采用异步加载、单页模式来设计,搜索引擎已经逐渐在改进他们的抓取机制了。另外,我们还能通过meta的方式来直接指定关键信息。

对于如何判断字符串是否为markdown,我想这个不用判断吧。如果不是markdown,即使使用markdown来解析,输出的也是最基本的文本。
在不改变View的情况下对内容进行转换,其实就踩了我上面提到的坑,也就是后端转换很难避免前后端不分离的情况,要转换必然涉及到转换程序和视图模块代码休戚与共的问题。

相关标签: php markdown