Skip to content
This repository

Download Builder for jQuery UI

README.md

jQuery UI DownloadBuilder & ThemeRoller backend and frontend application.

Requirements

  • node >= 0.8.x.
  • ImageMagick 6.6.x. (see apendix below for instructions to compile it from source)
  • npm.
  • grunt-cli. (installed globally via npm)
  • api.jquery.com requirements.

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.

Development

config.json

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

"jqueryUi": {
  "stable": {  // required
    "version": "1.10.0"
    "dependsOn": "jQuery 1.7+"
  },
  "legacy": {  // optional
    "version": "1.9.1"
    "dependsOn": "jQuery 1.6+"
  }
}

The stable release is required, but legacy is optional. 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.
  • path [optional] can be used instead of version to straight point to the prepared release path.

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;

Test

Use npm test to run the unit tests.

Deploy on WP

On jqueryui.com, run grunt deploy [note, run that on jqueryui.com repo]. More details on its README.

Local testing

Here's how to do integration testing with WordPress:

Symlink your local download.jqueryui.com module on jqueryui.com.

$ cd <local download.jqueryui.com path>
$ npm link
$ cd <local jqueryui.com path>
$ npm link download.jqueryui.com

Temporarily change its grunt.js to use localhost instead of http://download.jqueryui.com.

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

Appendix

Compile and install ImageMagick from source

Commands:

$ wget http://www.imagemagick.org/download/legacy/ImageMagick-6.6.9-10.tar.gz
$ 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.

Continuing...

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

Make sure you get the right bin when running it.

$ which convert
/opt/bin/convert

Hint: add those export statements into your .bash_profile.

Something went wrong with that request. Please try again.