​Prism

Prism 是一种轻量级的、健壮的、优雅的语法高亮显示库。她是 Dabblet 的一个分拆项目。(Lightweight, robust, elegant syntax highlighting. It's a spin-off project from Dabblet.)

Github stars Tracking Chart

Prism 是一种轻量级的,可扩展的语法荧光笔,内置了现代网络标准。 它用于数千个网站,包括您每天访问的一些网站。Prism 目前支持 121 种语言,详细的列表及其相应的别名参见官网链接,用于替换 language-xxxx 类中的 xxxx。

Prism 特性:

1.要命的简单
  • 包括 prism.css 和 prism.js,使用正确的 HTML5 代码标签(code.language-xxxx),完成!
2.直观
  • 语言类是继承的,因此您只能为多个代码段定义一次语言。
3.轻如羽毛
  • 核心是 2KB 缩小和 gzipped。 语言每个添加0.3-0.5KB,主题大约1KB。
4.快速
  • 支持与 Web Workers 的并行性(如果可用)。
5.可扩展
  • 定义新语言或扩展现有语言。 通过 Prism 的插件架构添加新功能。
6.易懂的样式
  • 所有的样式都是通过 CSS,使用敏感的类名,如.comment,.string,.property 等

Overview

Name With OwnerPrismJS/prism
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 8)
PlatformWeb browsers
License:MIT License
Release Count41
Last Release Namev1.29.0 (Posted on 2022-08-23 12:41:49)
First Release Namev1.0.0 (Posted on )
Created At2012-07-10 19:47:14
Pushed At2024-04-19 14:10:48
Last Commit At2022-08-23 12:41:49
Stargazers Count12k
Watchers Count116
Fork Count1.3k
Commits Count3.6k
Has Issues Enabled
Issues Count1650
Issue Open Count332
Pull Requests Count1662
Pull Requests Open Count58
Pull Requests Close Count277
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Prism

Build Status
npm

Prism is a lightweight, robust, elegant syntax highlighting library. It's a spin-off project from Dabblet.

You can learn more on prismjs.com.

Why another syntax highlighter?

More themes for Prism!

Contribute to Prism!

Prism depends on community contributions to expand and cover a wider array of use cases. If you like it, considering giving back by sending a pull request. Here are a few tips:

  • Read the documentation. Prism was designed to be extensible.
  • Do not edit prism.js, it’s just the version of Prism used by the Prism website and is built automatically. Limit your changes to the unminified files in the components/ folder. The minified files are also generated automatically.
  • The build system uses gulp to minify the files and build prism.js. Having gulp installed, you just need to run the command gulp.
  • Please follow the code conventions used in the files already. For example, I use tabs for indentation and spaces for alignment. Opening braces are on the same line, closing braces on their own line regardless of construct. There is a space before the opening brace. etc etc.
  • Please try to err towards more smaller PRs rather than few huge PRs. If a PR includes changes I want to merge and changes I don't, handling it becomes difficult.
  • My time is very limited these days, so it might take a long time to review longer PRs (short ones are usually merged very quickly), especially those modifying the Prism Core. This doesn't mean your PR is rejected.
  • If you contribute a new language definition, you will be responsible for handling bug reports about that language definition.
  • If you add a new language definition, theme or plugin, you need to add it to components.json as well and rebuild Prism by running gulp, so that it becomes available to the download build page. For new languages, please also add a few tests and an example in the examples/ folder.

Thank you so much for contributing!!

Translations

  • 中文说明
To the top