Lightweight, robust, elegant syntax highlighting.
Clone or download
Jocs and mAAdhaTTah Invoke `callback` after `after-highlight` hook (#1588)
Previously, `callback`, as passed to `Prism.highlightElement`, would get called before
all of the hooks had been run. This moves it after all the hooks, so it can truly be considered
a "complete" callback.

This could be a breaking change for any userland modifications that were expecting `callback`
to fire before plugins, but we expect this change to mostly conform with user expectations and
consider this a bugfix..
Latest commit bfbe446 Oct 23, 2018
Permalink
Failed to load latest commit information.
components Invoke `callback` after `after-highlight` hook (#1588) Oct 23, 2018
examples Fixes regex for JS examples (#1591) Oct 22, 2018
img Update "Used by" section (#1330) Mar 7, 2018
plugins Resolved variable name clash (#1568) Sep 23, 2018
templates Use HTTPS / canonical URLs (#1390) Apr 16, 2018
tests Add new keywords to nginx (#1587) Oct 19, 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
CHANGELOG.md 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
README.md Add travis repo badge to readme (#1561) Sep 23, 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 Add GameMaker Language support (#1551) Sep 15, 2018
components.json Add GameMaker Language support (#1551) Sep 15, 2018
composer.json Add Composer support (#648) Sep 9, 2017
download.html Improve download page typography (#1484) Jul 21, 2018
download.js Fixed peer dependencies in download page (#1491) Jul 22, 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 Updated index.html to fix broken instructions (#1462) Jul 6, 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 Invoke `callback` after `after-highlight` hook (#1588) Oct 23, 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

README.md

Prism

Build Status

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

You can learn more on http://prismjs.com/.

Why another syntax highlighter?: http://lea.verou.me/2012/07/introducing-prism-an-awesome-new-syntax-highlighter/#more-1841

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.js as well, so that it becomes available to the download build page.

Thank you so much for contributing!!

Translations

  • 中文说明