Skip to content
Download Builder for jQuery UI
JavaScript HTML CSS
Branch: master
Clone or download
Latest commit 5fe9942 Feb 15, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app/src ThemeRoller: Add checkboxradio and controlgroup demos Sep 13, 2016
lib Themes: Fix definition of Vader theme Feb 15, 2017
template ThemeRoller: Add checkboxradio and controlgroup demos Sep 13, 2016
test Tests: Use proper author fixture Oct 29, 2015
.bowerrc App: Use bower to fetch external dependencies Jun 24, 2014
.gitattributes Build: Normalize line endings Apr 14, 2014
.gitignore App: Organize it in app/src and external, build into app/dist Jun 24, 2014
.travis.yml Travis: Switch to addons directive to use container infrastructure Oct 28, 2015
CONTRIBUTING.md Docs: Removed IRC channel links in CONTRIBUTING.md Dec 31, 2013
Gruntfile.js Package: Include structure CSS in themes zip May 16, 2016
LICENSE.txt Build: Remove dates from copyright notice Jan 29, 2015
README.md README: Update installation and configuration instructions Oct 29, 2015
bower.json App: Use bower to fetch external dependencies Jun 24, 2014
config.json Config: Update to 1.12.1 Sep 14, 2016
download.js Download: Prevent unexpected missing request fields.theme error Jul 21, 2016
frontend.js Config: Allow different jQuery UI version to be specified for ThemeRo… Jan 20, 2016
main.js Dashify filenames May 13, 2014
package.json 2.1.16 Feb 15, 2017
server.js Packer: Support building 1.12.0 package Jul 22, 2015
themeroller.js Themeroller: Amend Use jQueryUI specified in the config for generatin… Jan 20, 2016

README.md

jQuery UI DownloadBuilder & ThemeRoller backend and frontend application.

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": [
  {
    "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;

Test

Use npm test to run the unit tests.

Local testing in WordPress

Here's how to do integration testing with WordPress:

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

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

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

Temporarily change its Gruntfile.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"
                        }),

Then deploy:

$ grunt deploy

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.

You can’t perform that action at this time.