Skip to content
Download Builder for jQuery UI
JavaScript HTML CSS
Failed to load latest commit information.
app/src All: Adapt to latest structural changes in 1.12
lib Package: Add missing files to 1.12 package, add separate for themes
template Config: Allow different jQuery UI version to be specified for ThemeRo…
test Tests: Use proper author fixture
.bowerrc App: Use bower to fetch external dependencies
.gitattributes Build: Normalize line endings
.gitignore App: Organize it in app/src and external, build into app/dist
.travis.yml Travis: Switch to addons directive to use container infrastructure Docs: Removed IRC channel links in
Gruntfile.js Grunt: Extend build-packages task to support 1.12
LICENSE.txt Build: Remove dates from copyright notice README: Update installation and configuration instructions
bower.json App: Use bower to fetch external dependencies
config.json Config: Set 1.11.4 as stable and 1.12.0-beta.1 as beta
download.js Packer: Support building 1.12.0 package
frontend.js Config: Allow different jQuery UI version to be specified for ThemeRo…
main.js Dashify filenames
package.json 2.1.6
server.js Packer: Support building 1.12.0 package
themeroller.js Themeroller: Amend Use jQueryUI specified in the config for generatin…

jQuery UI DownloadBuilder & ThemeRoller backend and frontend application.


Getting Started

Install node modules.

$ npm install

Prepare the releases (declared in config.json) and build the frontend js bundles.

$ grunt prepare

Run the server.

$ node server.js --console

Go to the URL it outputs.



Use the config file to define which jQueryUI version DownloadBuilder should serve. Eg:

"jqueryUi": [
    "version": "1.10.0"
    "dependsOn": "jQuery 1.7+",
    "label": "Stable",
    "stable": true
    "version": "1.9.1"
    "dependsOn": "jQuery 1.6+",
    "label": "Legacy"

One version with the stable property set to true is required. Each release has the following attributes:

  • version is a String, can be a tag or a branch of jQuery UI. Note: use repo/branch eg. origin/master when defining a branch.
  • dependsOn is a String, any textual value allowed.
  • label is a boolean, describing the lifecycle of this version, like "Stable", "Legacy" or "Beta".
  • stable is a boolean, marking the current stable release. This will be selected by default in the web UI and will be used to generate demo files.

node server.js

Use node server.js to run the server. Arguments:

  • --console output to console instead of syslog (via simple-log module);
  • --host <name> specify custom host. Default localhost;
  • --nocache skip caching release files and theme images;
  • --port <number> specify custom port. Default 8088;


Use npm test to run the unit tests.

Local testing in WordPress

Here's how to do integration testing with WordPress:

Link your local module on

$ cd <local path>
$ npm link
$ node server.js --console

$ cd <local path>
$ npm link

Temporarily change its Gruntfile.js to use localhost instead of

                var frontend = require( "" ).frontend({
-                               host: ""
+                               host: "http://localhost:8088",
                                env: "production"

Then deploy:

$ grunt deploy


Compile and install ImageMagick from source


$ wget
$ tar -xzf ImageMagick-6.6.9-10.tar.gz
$ cd ImageMagick-6.6.9-10
$ ./configure CFLAGS=-O5 CXXFLAGS=-O5 --prefix=/opt --enable-static --with-png --disable-shared

Make sure you have the below in the output.

PNG               --with-png=yes        yes

If "png=yes no", libpng is missing and needs to be installed, apt-get install libpng-dev on linux or brew install libpng on OS X.


$ make -j5 && sudo make install
export MAGICK_HOME="/opt"
export PATH="$MAGICK_HOME/bin:$PATH"

Make sure you get the right bin when running it.

$ which convert

Hint: add those export statements into your .bash_profile.

Something went wrong with that request. Please try again.