使用 PrismJS 实现代码语法高亮
问题背景
虽然 Typecho 原生支持 Markdown
语法,但是代码块部分只是用等宽字体+颜色置灰进行简单装饰,并不能像 Github 那样运用丰富多彩的颜色规则来高亮代码。然而没有颜色的代码,就像没有了灵魂,可读性可谓是呈断崖式下降,关键字、变量名和函数名都不分你我,共灰白一色。
我的需求
为了可读性,建站之后,代码高亮便提上日程。我梳理了自己的需求,主要有
- 着色代码: 语法高亮
- 多种语言:基础的包括
JS
,PHP
,Go
,Python
和C/C++
等,后续如果要学习Rust
或TS
希望能方便地接入 - 软件生态:使用的人数多不多,代码更新迭代是否勤快,Issue 处理及时性
- 可扩展性:能否扩展小功能?如代码支持拷贝,左侧显示行数,显示所用语言
- 方便部署:部署时会考虑代码包压缩后的大小,是否容易嵌入已有的代码结构中