ITADN
PrismJS/prism
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Prism

Build Status npm

Prism 是一个轻量级、健壮且优雅的语法高亮库。它是 Dabblet 的衍生项目。

你可以在 prismjs.com 上了解更多。

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

更多 Prism 主题!

为 Prism 做贡献!

重要通知

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

一旦 Prism v2 的开发取得足够进展,我们将重新接受 PR。这将在我们的 Discussion 页面宣布,并在 roadmap discussion 中提及。

Prism v1 贡献说明

Prism 依赖社区贡献来扩展并覆盖更广泛的使用场景。如果你喜欢它,请考虑通过发送 pull request 来回馈。以下是一些提示:

  • 阅读文档。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 被拒绝。

  • 如果您贡献了一个新的语言定义,您将负责处理关于该语言定义的 bug 报告。

  • 如果你添加新的语言定义或插件,你还需要将其添加到 components.json 中,并通过运行 npm run build 重新构建 Prism,以便其在下载构建页面中可用。对于新语言,请同时在 examples/ 文件夹中添加一些测试和示例。

  • 如果你想添加新主题,请前往 prism-themes

非常感谢你的贡献!!

软件要求

Prism 几乎可以在任何浏览器](https://prismjs.com/#features-full) 和 Node.js 版本上运行,但你需要以下软件来进行贡献:

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

翻译