prismjs/prism

轻量级、强大、优雅的语法高亮。Dabblet项目的分支。

维护者

详细信息

github.com/PrismJS/prism

源代码

问题

安装数: 38 187

依赖者: 4

建议者: 0

安全: 0

星标: 12 246

关注者: 119

分支: 1 292

开放问题: 409

语言:JavaScript

类型:组件


README

Build Status npm

Prism是一个轻量级、强大且优雅的语法高亮库。它是从Dabblet项目衍生出来的。

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

为什么还需要另一个语法高亮器?

更多Prism主题!

为Prism做贡献!

重要通知

我们目前正在开发Prism v2,目前只接受与安全相关的PR。

一旦Prism v2的开发取得足够进展,我们将再次接受PR。这将在我们的讨论页面和路线图讨论中宣布。

Prism v1贡献说明

Prism依赖于社区贡献来扩展和覆盖更广泛的使用案例。如果您喜欢它,考虑通过发送拉取请求来回馈。以下是一些建议

  • 阅读文档。Prism被设计为可扩展的。
  • 不要编辑prism.js,它只是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被拒绝。
  • 如果您为新的语言定义做出贡献,您将负责处理有关该语言定义的bug报告。
  • 如果您添加新的语言定义或插件,还需要将其添加到components.json中,并通过运行npm run build重新构建Prism,以便使其在下载构建页面可用。对于新语言,请在examples/文件夹中添加一些测试和示例。
  • 如果您想添加新的主题,请访问prism-themes

非常感谢您的贡献!!

软件要求

Prism几乎可以在任何浏览器和Node.js版本上运行,但您需要以下软件来贡献

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

翻译