Prism

Build Status npm

Prism 是一个轻量级、稳定且优雅的语法突出显示库。它是一个项目分支,源自 Dabblet

您可以在 prismjs.com 上了解更多信息。

为什么会出现另一个语法突出显示器?

针对 Prism 的更多主题!

向 Prism 投稿!

重要提示

我们目前正在处理 Prism v2,暂时只接受与安全相关的 PR。

一旦 Prism v2 的工作取得较大进展,我们将会再次接受 PR。这将在我们的 讨论 页面上公布,并在 路线图讨论 中提及。

Prism v1 贡献说明

Prism 依靠社区贡献才能得到扩展并覆盖更广泛的用例。如果您愿意的话,不妨通过发送一个请求来提供帮助。这里有一些提示

  • 阅读 文档。Prism 在设计时就被考虑为可扩展的。
  • 不要编辑 prism.js,它只是 Prism 网站使用的 Prism 版本,并且是自动构建的。将您的更改限制在 components/ 文件夹中的未经缩减的文件中。prism.js 和所有缩减文件都是由我们的构建系统生成的(见下文)。
  • 使用 npm ci 安装 Prism 的依赖项。不要使用 npm install,因为它会导致非确定性的构建。
  • 构建系统使用 gulp 缩减文件并构建 prism.js。在安装了 Prism 的所有依赖项后,您只需运行命令 npm run build 即可。
  • 请遵循已存在的文件中使用的编码惯例。例如,我使用 制表符用于缩进并且空格用于对齐。无论结构如何,开始花括号与结构同在一行;闭合花括号独占一行。在开始花括号之前有一个空格。等等。
  • 请尽量朝着较小的 PR 方向努力,而不是几个巨大的 PR。如果一个 PR 包含我想合并的更改以及我不想合并的更改,则处理它会变得很困难。
  • 我近来的时间非常有限,所以可能需要很长时间才能审阅较大的 PR(小 PR 通常会非常快速地合并),尤其是那些修改 Prism Core 的 PR。这并不意味着您的 PR 被拒绝了。
  • 如果您提供了一份新语言定义,您将负责处理关于该语言定义的缺陷报告。
  • 如果您添加了一份新语言定义或插件,您还需要将其添加到components.json当中,并通过运行npm run build重建 Prism,以便它能用在下载页面构建中。对于新语言,请务必添加一些测试和 Examples/ 文件夹中的一个示例。
  • 如果您想添加一个新主题,请访问prism-themes

非常感谢您的贡献!

软件要求

Prism 可以在几乎所有浏览器和 Node.js 版本上运行,但您需要以下软件才能参与贡献

  • Node.js >= 10.x
  • npm >= 6.x

翻译