Lightweight, robust, elegant syntax highlighting.
Clone or download
TemplarVolk and RunDevelopment Added Vala language (#1658)
Adds support for the Vala language.
Latest commit b48c012 Dec 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
components Added Vala language (#1658) Dec 15, 2018
examples Added Vala language (#1658) Dec 15, 2018
img Update "Used by" section (#1330) Mar 7, 2018
plugins Added Vala language (#1658) Dec 15, 2018
templates Use HTTPS / canonical URLs (#1390) Apr 16, 2018
tests Added Vala language (#1658) Dec 15, 2018
themes Correct typo (#1508) Aug 19, 2018
vendor Add a way to download all grammars as a Zip directly from the Autoloa… Jun 18, 2016
.editorconfig Set default indentation size (#1516) Aug 19, 2018
.gitattributes Add .gitattributes to prevent line ending changes in test files Aug 18, 2015
.gitignore add Io syntax (#1251) Jan 2, 2018
.npmignore Update .npmignore Close #1274 Mar 20, 2018
.travis.yml Build all branches (including gh-pages) on Travis CI. Closes #1341 Mar 11, 2018 Linkify changelog more + add missing PR references Jul 6, 2018
CNAME Create CNAME May 31, 2018
LICENSE Fixing to initial copyright year Jan 18, 2016 Mention Prism Themes in README (#1625) Nov 29, 2018
bower.json Ignore tests directory in bower.json Apr 6, 2016
code.js Website: Check stored theme by default + link both theme selectors to… Mar 20, 2018
components.js Added Vala language (#1658) Dec 15, 2018
components.json Added Vala language (#1658) Dec 15, 2018
composer.json Add Composer support (#648) Sep 9, 2017
download.html Improve download page typography (#1484) Jul 21, 2018
download.js Display language aliases (#1626) Dec 1, 2018
examples.html Use rel="icon" instead of rel="shortcut icon" (#1398) Apr 22, 2018
examples.js Website: Auto-generate example header with component title, list of a… Mar 11, 2018
extending.html Fixed empty link in extending (#1507) Aug 19, 2018
faq.html Use rel="icon" instead of rel="shortcut icon" (#1398) Apr 22, 2018
favicon.png Optimize images (#1007) Jul 29, 2016
gulpfile.js Gulp: There is probably no need to minify `components/index.js` Apr 5, 2018
index.html Display language aliases (#1626) Dec 1, 2018
logo.svg Website: remove width and height on logo.svg, so it becomes scalable. C… Sep 9, 2017
package.json 1.15.0 Jun 17, 2018
prefixfree.min.js Styling and docs changes Jul 31, 2012
prism.js Identify JavaScript function parameters (#1446) Dec 3, 2018
style.css Fix mixed content warning May 31, 2018
test-suite.html Use rel="icon" instead of rel="shortcut icon" (#1398) Apr 22, 2018
test.html Use rel="icon" instead of rel="shortcut icon" (#1398) Apr 22, 2018
utopia.js Commit updated line changes Aug 18, 2015


Build Status

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

You can learn more on

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.

Thank you so much for contributing!!


  • 中文说明