# 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 \ go \ haskell \ java \ javascript \ json \ lisp \ lua \ markdown \ objectivec \ ocaml \ perl \ protobuf \ python \ ruby \ rust \ scala \ 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