This is the official repository for the Flix language specification for highlight.js.
If you fork this repository there is a GitHub workflow that on each push will automatically build a minimal highlight.js file that only supports Flix for the web.
Additionally, it also generates a Flix spec that can be appended to an existing highlight.js file.
The GitHub workflow always targets the latest release of highlight.js
We refer you to the official documentation for 3rd party grammars for highlight.js (read Testing & Packaging sections).
There are pre-built CDN files that can just be dropped in to work with
an existing highlight.js script.
These can be found in the dist/ directory of this repository.
Note that the dist/highlight.min.js file is the file
built by the GitHub workflow in this repository and is a minimal
highlight.js build that only supports Flix.
This file is NOT part of the CDN pre-built files and should
hence not but used if you intend to use highlight.js conventionally.
The highlight.js file built by the GitHub workflow should work automatically when included on a website.
We use mdBook for doc.flix.dev which has some custom styling rules (see css files) This is to properly highlight string interpolation among other things.
| Selector | Description |
|---|---|
.hljs-subst |
Used for highlighting string interpolation |
.hljs-meta |
Used for highlighting annotations |
If you open a pull request, you must also include the updated files required for the dist/
directory.
This can easily be done with the GitHub action in this repository.
-
Once you have submitted your PR, navigate to your fork and select the branch for which you have a PR open. A GitHub action should have run.
-
Navigate to the summary of that action and download both the
flix.cdn.distandhighlight.min.jsfiles. We recommended you check thesha256sumof the downloaded files against the sha256 sums on GitHub. -
First, unzip
highlight.min.js.zipand move thehighlight.min.jsfile todist/, replacing the current copy. -
Then unzip
flix.cdn.distand moveflix.es.min.jsandflix.min.jstodist/, replacing the current copies. -
Commit these files in
dist/and push them to the PR.