| # Building Highlight.js for Gerrit |
| |
| Highlight JS needs to be built with specific language support. Here are the |
| steps to build the minified file that appears here. |
| |
| NOTE: If you are adding support for a language to Highlight.js make sure to add |
| it to the list of languages in the build command below. |
| |
| ## Prerequisites |
| |
| You will need: |
| |
| * nodejs |
| * closure-compiler |
| * git |
| |
| ## Steps to Create the Pack File |
| |
| The packed version of Highlight.js is an un-minified JS file with all of the |
| languages included. Build it with the following: |
| |
| $> # start in some temp directory |
| $> git clone https://github.com/isagalaev/highlight.js.git |
| $> cd highlight.js |
| $> node tools/build.js -n \ |
| bash \ |
| cpp \ |
| cs \ |
| clojure \ |
| css \ |
| d \ |
| dart \ |
| erb \ |
| go \ |
| haskell \ |
| java \ |
| javascript \ |
| json \ |
| kotlin \ |
| lisp \ |
| lua \ |
| markdown \ |
| objectivec \ |
| ocaml \ |
| perl \ |
| php \ |
| protobuf \ |
| puppet \ |
| python \ |
| ruby \ |
| rust \ |
| scala \ |
| shell \ |
| sql \ |
| swift \ |
| typescript \ |
| xml \ |
| yaml |
| |
| The resulting JS file will appear in the "build" directory of the Highlight.js |
| repo under the name "highlight.pack.js". |
| |
| ## Minification |
| |
| Minify the file using closure-compiler using the command below. (Modify |
| `/path/to` with the path to your compiler jar.) |
| |
| $> java -jar /path/to/closure-compiler.jar \ |
| --js build/highlight.pack.js \ |
| --js_output_file build/highlight.min.js |
| |
| Copy the header comment that appears on the first line of |
| build/highlight.pack.js and add it to the start of build/highlight.min.js. |
| |
| ## Finish |
| |
| Copy the resulting build/highlight.min.js file to lib/highlightjs |