首页
首页 教程 派聪明
  • 首页
  • 教程
  • 派聪明
  • 登录
登录技术派畅享更多权益

用户名密码登录

其他登录:
icon_GitHubCreated with sketchtool.
绑定星球,畅享VIP服务

微信扫码/长按识别登录

输入验证码
有效期五分钟 👉 手动刷新

登录即同意 用户协议 和 隐私政策

绑定二哥编程星球,畅享 VIP 尊享服务!

戳我了解如何获取星球编号,新窗口打开

添加二哥微信 itwanger 审核更快

记得备注 星球编号
我会根据星球编号进行审核
1
如何学习技术派?
更新时间: 2023年11月28日
星球
2
技术派的架构设计是什么样的?
更新时间: 2023年03月22日
星球
3
如何整合本地缓存 Caffeine?
更新时间: 2023年03月15日
星球
4
整合 RabbitMQ
更新时间: 2023年05月15日
星球
5
给 RabbitMQ 添加连接池
更新时间: 2023年05月23日
星球
6
如何保证缓存一致性?
更新时间: 2023年05月15日
星球
7
如何实现在线人数统计?
更新时间: 2023年03月25日
星球
8
MySQL同步ES
更新时间: 2023年06月09日
星球
9
redis实现活跃排行榜
更新时间: 2023年08月21日
星球
10
实例演示如何实现性能优化
更新时间: 2023年08月30日
星球
11
十二种性能优化方案实战
更新时间: 2023年11月21日
星球
12
配置 SSL 证书
更新时间: 2023年11月21日
星球
13
ngrok内网穿透访问本地服务
更新时间: 2023年12月01日
星球
14
上传图片至 OSS
更新时间: 2023年12月04日
星球
15
如何渲染 markdown
更新时间: 2023年12月20日
星球
16
如何将技术派写到简历上?
更新时间: 2023年11月10日
星球
17
技术派的 Redis 分布式锁
更新时间: 2024年10月22日
星球
18
Linux 一键源码部署技术派
更新时间: 2024年11月12日
星球
19
如何接入微信支付?
更新时间: 2024年12月11日
星球
20
整合FastExcel导出500万条数据
更新时间: 2024年12月19日
星球
21
接入 deepseek API
更新时间: 2025年02月07日
星球
关注公众号
原创
技术派如何渲染 markdown?

大家好,我是二哥呀。

今天由我来给大家讲一下技术派是如何渲染 markdown 的,主要涉及到两部分,一部分是编辑文章的时候,另外一部分是显示文章详情的时候。用到了editormd、bytemd、flexmark、KaTeX 等插件,支持 emoji、科学公式、表格等。

技术派专栏地址:https://paicoding.com/column/6/16

技术派语雀地址可以通过「新人必看」置顶帖进行查看:https://t.zsxq.com/15rEo9Pdu

我先截图说明一下在什么位置,这是编辑文章的时候:

用户端

admin 端

技术派的编辑器支持:

  • LaTeX 科学公式(数学家和计算机科学家的写作工具)
  • 任务列表(ToDoList)
  • 识别和解析HTML标签(上图中的 iframe 视频播放器)
  • 代码高亮(可复制)
  • 表格(涉及到 markdown 转 HTML 的后端插件)
  • 常规的 markdown 语法

这是展示文章详情的时候:

几乎当下主流的文章编辑器都支持 markdown,并且很早就取代了富文本的霸主地位,如果大家想开发一款内容平台的话,markdown 转 HTML 基本上是绕不开的一个环节,那技术派是如何做到的呢?

文章编辑页

插件

技术派的前端用了两款插件,用户端是 editormd,admin 端用的掘金的插件 bytemd。

  • editormd:https://pandao.github.io/editor.md/index.html
  • bytemd:https://github.com/bytedance/bytemd

Editor.md 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。

editormd

代码应用路径:/paicoding/paicoding-ui/src/main/resources/templates/views/article-edit,见下图。

ByteMD 是掘金社区开源的 Markdown 编辑器组件,可以优雅地集成在 React、Vue 和 Angular 框架中。

bytemd

代码应用路径:/paicoding-admin/src/views/article/edit

Editor.md 的应用

第一步,下载 Editor.md 的源文件

https://github.com/pandao/editor.md/releases

最新 release 版本是 v1.5.0,技术派在此基础上进行了很多自定义。

比如说图片上传,比如说 LaTeX 科学公式,我都直接在源码上进行更改了,因为原有的 Editor.md 支持的并不友好。大家需要的话,可以直接从技术派的源码中下载。

第二步,把 CSS 和 JS 文件引入到项目当中

<link rel="stylesheet" href="/editormd/css/editormd.css" th:href="${global.siteInfo.oss + '/editormd/css/editormd.css'}" />
<link rel="stylesheet" href="/css/views/article-edit.css" th:href="${global.siteInfo.oss + '/css/views/article-edit.css'}" />
<script src="/editormd/editormd.js" th:src="${global.siteInfo.oss + '/editormd/editormd.js'}"></script>

其中的 th:href 和 th:src 是为了做 CDN,技术派会把静态文件存入 OSS,然后通过 CDN 进行访问,这样可以加快静态文件的访问速度。

第三步,启用 Editor.md

首先,需要在页面中加入一个 DIV,里面放一个隐藏的 textarea,用来保存编辑的时候的 markdown。

<div class="form-group" id="paiEditor">
  <textarea
    style="display: none"
    th:text="${vo.article != null ? vo.article.content: ''}"
  ></textarea>
</div>

然后在 JavaScript 中初始化 Editor.md。

const oss = [[${global.siteInfo.oss}]];
const jspath = oss + '/editormd/lib/';
let simplemde = editormd("paiEditor", {
  path: jspath,
  width: "100%",
  height: calculateE

已加入二哥编程星球,即刻绑定星球编号解锁🔐

该文档仅「二哥编程星球」的VIP用户可见

二哥的编程星球内容包括:

1. 付费文档: 技术派、MYDB 等项目配套的 120+篇教程查看权限

2. 面试指南: 校招、社招的 40 万+字面试求职攻略

3. 智能助手: 无限期使用派聪明 AI 助手,已对接讯飞星火和 ChatGPT双通道,不用花 1 分钱

4. 专属问答: 向二哥 1v1 发起提问,内容不限于 offer 选择、学习路线、职业规划等

5. 简历修改: 提供简历修改服务,附赠星球 100+优质简历模板可供参考

6. 学习环境: 打造一个沉浸式的学习环境,有一种高考冲刺、大学考研的氛围


二哥的星球

》步骤①:微信扫描上方二维码,点击「加入知识星球」按钮

》步骤②:访问星球置顶帖球友必看: https://t.zsxq.com/11rEo9Pdu,获取项目配套文档的语雀访问地址和密码

已加入星球,绑定星球编号
删除提醒

确定删除《技术派如何渲染 markdown?》吗

4人已点赞

回复