Change-Id: If3d6fd2ff4c3af927b1c7b677dee07b5b7293fae
1.9 KiB
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/highlightjs/highlight.js
$> cd highlight.js
$> node tools/build.js -n \
bash \
cpp \
cs \
clojure \
css \
d \
dart \
erb \
go \
haskell \
java \
javascript \
json \
kotlin \
lisp \
lua \
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.
$> wget https://dl.google.com/closure-compiler/compiler-latest.zip
$> unzip compiler-latest.zip
$> mv closure-compiler-*.jar closure-compiler.jar
$> java -jar ./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