gerrit/lib/highlightjs/building.md
Wyatt Allen 03f0ce6c0f Update syntax highlighting support
Adds new languages and removes an unused language. The built, minified
and gzipped size of the HighlightJS library increases from 17KB to 25KB.

Change-Id: Id3c83e5b0592b85c9f2adf53f07b6852966dcced
2016-08-02 13:15:09 -07:00

73 lines
1.8 KiB
Markdown

# 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