HighlightJS in TypeScript (and ES6)
NOTE: Currently not all languages are supported. PRs are welcome.
Differences from original
- No module-global state and configuration excluding the language modes registry.
- ES6 Module Syntax to compatibility with modern bundlers like Rollup which support Tree-Shaking.
- Support renderer API to render to HTML text as well as to a DOM-nodes directly or by VirtualDOM engines.
- Compiled mode it is another object not same as a source what get a little bit lower memory usage.
- Replaced some utility functions by ES6 syntax extensions which is provided by tslib for ES5 target.
- Fixed some modes to get more correct or advanced highlight.
Currently the renderer API is quite simple:
text()call is using to render textual piece of source code.
wrap()call is using to wrap rendered chunk into span with specified class.
join()call is using to join several rendered chunks into single chunk.
By example we can implement HTML renderer like this:
See the types.ts source to understand highlight mode definition syntax.
Read the original highlightjs docs to get more help how to implement syntax highlighting modes.