laserbeam

0.3.0 • Public • Published

Laserbeam

Laserbeam is a semantic syntax highlighter and annotator for JavaScript code.

Semanting highlighting allows you to apply different styles to tokens based on their meaning in the syntax tree.

Annotation allows you to highlight or mark-up parts of the code, for documentation or educational purposes.

Laserbeam goes beyond a tokenizer and uses a full JavaScript parser (babel parser), which allows highlighting and annotation based on the syntax tree.

Project Goals

The goals for the Laserbeam project are to:

  • perform semantic syntax highlighting (highlighting based on a token's role in the syntax tree)
  • support annotations inside code blocks for the purpose of documentation
  • integrate with code blocks inside of Markdown and HTML documents
  • support EcmaScript features and common syntax extensions like JSX and TypeScript

Output

Laserbeam outputs a representation of HTML nodes. This allows you to apply transformations (add or remove nodes, change class names) before converting it to HTML.

The output is in HAST format and can be converted to a HTML string with a HAST to HTML utility.

License

MIT © Marek Zaluski

Readme

Keywords

none

Package Sidebar

Install

npm i laserbeam

Weekly Downloads

2

Version

0.3.0

License

MIT

Unpacked Size

10.2 kB

Total Files

8

Last publish

Collaborators

  • marekweb