首页  >  文章  >  后端开发  >  关于 markdown 编辑器替换普通的可视化编辑器时,前台展示问题大家如何解决

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

WBOY
WBOY原创
2016-09-05 08:59:541113浏览

如题我现在有两种思路:
第一种,使用 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的情况下对内容进行转换,其实就踩了我上面提到的坑,也就是后端转换很难避免前后端不分离的情况,要转换必然涉及到转换程序和视图模块代码休戚与共的问题。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn