Project News
New Website
Our previous website was created by Ivan Sagalaev, the original creator of highlight.js. Our old website served us well for years but due to age, became dated and hard to maintain. So, it's my pleasure to introduce our brand-new website powered by Next.js with a few new features that had been requested over the years. Our hope is, that with a more modern website, we'll be able to better maintain it and welcome more contributions from the community.
Demo Page
Whenever you're navigating the internet for libraries to use in your project, you look for demos of how said libraries behave. But what about highlight.js? Where's the demo section where you can put code snippets and test out the highlighting behavior and our plethora of themes?
Say no more, introducing our new demo page where you can test code snippets and preview themes! But wait, there's more!
You can share the code snippets you write on our demo page! We're not storing these code snippets in any databases. It's all stored in the URL. So be mindful of sharing extremely large code snippets.
Download Page
We've heard you! You want to be able to save your download configurations and have us bundle your package for you. Our download page now also supports specifying your languages and persisting them in the URL. Revisit the URL after a few weeks and if there's been any updates to the grammars you included, you'll automatically download the new bundle. 馃帀
Open Source
Of course, our new website is open source and welcomes contributions! Just like the main highlight.js repo, create an issue to request features or discuss implementations of features if you'd like to contribute.
More to Come
Now that our website has been modernized, we look forward to a pleasant style with more regular updates and features added.
Thank you for highlighting with highlight.js!
11.8.0 "Spring has arrived" Edition
Changelog
Parser engine:
- added a function to default export to generate a fresh highlighter instance to be used by extensions WisamMechano
- added BETA
__emitTokens
key to grammars to allow then to direct their own parsing, only using Highlight.js for the HTML rendering Josh Goebel - (enh) add
removePlugin
api faga295 - (fix) typo in language name of
JavaScript
Cyrus Kao
New Grammars:
- added 3rd party Lang grammar to SUPPORTED_LANGUAGES AdamRaichu
- added 3rd party C3 grammar to SUPPORTED_LANGUAGES aliaegik
Core Grammars:
- enh(sql) support
_
in variable names [joshgoebel][] - enh(mathematica) update keywords list to 13.2.1 arnoudbuzing
- enh(protobuf) add
proto
alias for Protobuf [dimitropoulos][] - enh(sqf) latest changes in Arma 3 v2.11 Leopard20
- enh(js/ts) Added support for GraphQL tagged template strings Ali Ukani
- enh(javascript) add sessionStorage to list of built-in variables Jeroen van Vianen
- enh(http) Add supporxt for HTTP/3 Rijenkii
- added 3rd party Motoko grammar to SUPPORTED_LANGUAGES rvanasa
- added 3rd party Candid grammar to SUPPORTED_LANGUAGES rvanasa
- fix(haskell) Added support for characters CrystalSplitter
- enh(dart) Add
base
,interface
,sealed
, andwhen
keywords Sam Rawlins - enh(php) detect newer more flexible NOWdoc syntax (#3679) Timur Kamaev
- enh(python) improve autodetection of code with type hinting any function's return type (making the
->
operator legal) Keyacom - enh(bash) add
select
anduntil
as keywords
11.7.0 - "Gobble Gobble" Thanksgiving Edition
Version 11.7.0
New Grammars:
- added 3rd party LookML grammar to SUPPORTED_LANGUAGES Josh Temple
- added 3rd party FunC grammar to SUPPORTED_LANGUAGES [Nikita Sobolev][]
- Added 3rd party Flix grammar to SUPPORTED_LANGUAGES The Flix Organisation
- Added 3rd party RVT grammar to SUPPORTED_LANGUAGES Sopitive
Grammars:
- enh(scheme) add
scm
alias for Scheme matyklug18 - fix(typescript) patterns like
<T =
are not JSX Josh Goebel - fix(bash) recognize the
((
keyword Nick Chambers - enh(Ruby) misc improvements (kws, class names, etc) Josh Goebel
- fix(js) do not flag
import()
as a function, rather a keyword nathnolt - fix(bash) recognize the
((
keyword Nick Chambers - fix(nix) support escaped dollar signs in strings h7x4
- enh(cmake) support bracket comments Hirse
- enh(java) add yield keyword to java MBoegers
- enh(java) add permits keyword to java MBoegers
- fix(javascript/typescript) correct identifier matching when using numbers Lachlan Heywood
Improvements:
- Documentation typo fix by Eddymens
11.6.0 - "Pink Lemonade on a hot day" Edition
Version 11.6.0
Supported Node.js versions:
- (chore) Drops support for Node 12.x, which is no longer supported by Node.js.
Default build changes:
- add
wasm
to default:common
build (#3526) [Josh Goebel][] - add
graphql
to default:common
build (#3526) [Josh Goebel][]
Grammars:
- fix(json) changed null/booleans from
keyword
toliteral
shikhar13012001 - enh(gml) reorganized and added additional keywords Bluecoreg
- enh(csharp) Added support for the new
scoped
keyword in C# (#3571) [David Pine][] - enh(scala) add
transparent
keyword Matt Bovel - fix(rust) highlight types immediately preceeding
::
(#3540) [Josh Goebel][] - Added 3rd party Apex grammar to SUPPORTED_LANGUAGES (#3546) David Schach
- fix(rust) recognize
include_bytes!
macro (#3541) Serial-ATA - fix(java) do not intepret
==
as a variable declaration Mousetail - enh(swift) add SE-0335 existential
any
keyword (#3515) Bradley Mackey - enh(swift) add support for
distributed
keyword Marcus Ortiz - enh(xml) recognize Unicode letters instead of only ASCII letters in XML element and attribute names (#3256)Martin Honnen
- Added 3rd party Toit grammar to SUPPORTED_LANGUAGES Serzhan Nasredin
- Use substring() instead of deprecated substr() Tobias Buschor
- Added 3rd party Oak grammar to SUPPORTED_LANGUAGES Tim Smith
- enh(python) add
match
andcase
keywords Avrumy Lunger
Version 11.5.1
Just a tiny release to hopefully fix the issues some are having with CSS not seen as having side effects with web pack, etc...
Packaging:
- (chore) explicitly set
sideEffect
for css and scss files, fixes #3504
11.5.0
Changes from CHANGELOG:
Themes:
- Added
Tokyo-Night-dark
theme Henri Vandersleyen - Added
Tokyo-Night-light
theme Henri Vandersleyen
New Grammars:
- Added GraphQL John Foster
- Added Macaulay2 to SUPPORTED_LANGUAGES Doug Torrance
Grammars:
- enh(ruby) lots of small Ruby cleanups/improvements Josh Goebel
- enh(objectivec) add
type
andvariable.language
scopes Josh Goebel - enh(xml) support processing instructions (#3492) Josh Goebel
- enh(ruby ) better support multi-line IRB prompts
- enh(bash) improved keyword
$pattern
(numbers allowed in command names) Martin Mattel - add
meta.prompt
scope for REPL prompts, etc Josh Goebel - fix(markdown) Handle
***Hello world***
without breaking Josh Goebel - enh(php) add support for PHP Attributes Wojciech Kania
- fix(java) prevent false positive variable init on
else
Josh Goebel - enh(php) named arguments Wojciech Kania
- fix(php) PHP constants Wojciech Kania
- fix(angelscript) incomplete int8, int16, int32, int64 highlighting Melissa Geels
- enh(ts) modify TypeScript-specific keywords and types list anydonym
- fix(brainfuck) fix highlighting of initial ++/-- Christina Hanson
- fix(llvm) escaping in strings and number formats Flakebi
- enh(elixir) recognize references to modules Mark Ericksen
- enh(css): add support for more properties Nicolaos Skimas