请教下,使用markdown编辑器后在前端的展示方案是怎样的?

正在建设的知识付费应用使用了learnku.com所用的editor.md编辑器,在前端展示的时候遇到了问题,想知道learnku.com使用的是哪个方案?

方案一:分两个字段,一个保存markdown+一个保存html

1、数据库有两个字段,一个是markdown_content,一个是html_content,分别保存两种不同的格式,模板直接显示html
2、后台和前台都不再需要做额外的处理

优点:操作简单,可实现editor.md的默认效果,真正的可见即所得
缺点:增加了数据库的存储空间

方案二:保存markdow+前台editor.mdjs解析

1、内容字段保存的是markdown格式(同方案1)
2、与方案一不同的是,在模板输出的仍然是markdown,但是使用了editor.mdmarkdown to html功能,在浏览器端,也就是用户看到的是js转换后的html,查看源码仍然是markdown格式

优点:不占用数据库空间,也可以实现editor.md的默认效果
缺点:因为源代码中仍然是markdown原始格式,没有h2、h3等标记,不适合SEO,所以该方案可暂时抛弃。

方案三:保存markdown+后台parsedown解析

1、内容字段保存的是markdown格式
2、后台使用parsedown把markdown格式转成html,然后在模板显示html
3、前台使用Highlight.js等代码高亮插件,显示code类代码

优点:不占用数据库空间,因为是后台将markdown转为了html,不给前端增加负担
缺点:无法实现代码行号;因为有这个js的加入,显示速度可能会慢

在这里想真心请教下各位大牛,除了这三种方案外,是否还有更优的解决方案?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

第一个可以方案不错,用空间换时间,很划算。

2个月前 评论
Hesunfly

目前用的第一个方案,现在的存储成本很低廉了,怕这些干啥呢?而且你编写markdown都是文字性内容,不会占用很大的空间。

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!