41ff059837
Change-Id: If3d6fd2ff4c3af927b1c7b677dee07b5b7293fae
82 lines
1.9 KiB
Markdown
82 lines
1.9 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/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
|