# 我们能用 PrismJS 代替 highlight.js 来做代码语法高亮吗？

**URL:** https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754
**Category:** Support
**Created:** [2021年四月14日 02:58 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754 "2021-04-14T02:58:18Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Victor\_Akamine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_akamine/32/171884_2.png) [@Victor\_Akamine](https://meta.discourse.org/u/Victor_Akamine)
#### Post date: [2021年四月14日 02:58 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754/1 "2021-04-14T02:58:18Z")

</div>

我想知道是否有办法将 highlight.js 替换为 PrismJS。PrismJS 目前看起来比 highlight.js 更完善，这就是提出该请求的原因。

在 Discourse 托管版本中，是否有办法直接实现这一替换？或者是否有支持该功能的插件？

谢谢！

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2021年四月14日 04:27 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754/2 "2021-04-14T04:27:15Z")

</div>

能再多说一些吗？你遇到了哪些边缘情况？

---

<div class="post-metadata">

### Author: ![Victor\_Akamine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_akamine/32/171884_2.png) [@Victor\_Akamine](https://meta.discourse.org/u/Victor_Akamine)
#### Post date: [2021年四月14日 05:02 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754/3 "2021-04-14T05:02:03Z")

</div>

@sam 谢谢查看我的消息。

让我用 Kotlin 展示一个例子。

- highlight.js  

- PrismJS  

如您所见，在此情况下 PrismJS 的显示效果更佳。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2021年四月14日 05:18 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754/4 "2021-04-14T05:18:54Z")

</div>

我认为，最好的做法是有人构建一个主题组件，将 Prism.js 集成进去。这在技术上是可行的，并且能让社区进行实验。

我确信，在某些方面 Prism 的表现优于 Highlight，反之亦然。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年四月14日 21:42 UTC](https://meta.discourse.org/t/can-we-use-prismjs-instead-of-highlight-js-for-code-syntax/186754/6 "2021-04-14T21:42:29Z")

</div>

我今天快速看了一下，由于 PrismJS 不支持自动检测语言代码，对于_大多数_社区而言，将其作为替代方案实际上是一种倒退。
