1. Russell Keith-Magee
  2. jacqui


jacqui /

Filename Size Date modified Message
42 B
80 B
1.5 KB
2.8 KB
6.8 KB
1.2 KB

jacqui v0.1

Jacqui is a tool for performing configuration management of jQueryUI theme bundles.

jQueryUI has great online tools for rolling themes, and for rolling custom jQueryUI bundles. However, it doesn't provide an easy way to perform configuration management on those bundles. Once you've set up a theme, it's difficult to reproduce that theme later on.

jacqui is a tool that allows you to define a jQueryUI theme as a configuration file, and then generate (and unpack) a theme bundle based on that configuration. The configuration file can be added to version control, and be used to reliably reproduce theme and bundle settings in the future.

Why the name jacqui? Because it's the first word I thought of that contains the letters J Q U I in order.

Configuration files

jacqui uses two configuration files: A theme description and a bundle description.

The theme description is entirely presentation related. It describes the fonts, colors, sizes etc for a theme. The sections match the sections for the online theme roller [1]; the keys are hopefully self explanatory from there.

The bundle description is a description of the parts that will be included in the customized download bundle [2]. It includes the javascript modules that will be included, the jQuery version binding, and any scoping and naming configuration for the theme.

Examples of both files can be found in the examples directory. The themes correspond to the full list of themes in the sample gallery; the bundle is a complete set of all modules for the most recent jQuery version (1.8.16).

[1] http://jqueryui.com/themeroller/ [2] http://jqueryui.com/download/


Jacqui consists of two command line tools: jacqui and unjacqui.


jacqui is used to take a theme description and a bundle description, and retrieve a fresh jQueryUI download bundle.

Common usage: Use the "my_theme" theme description, and the "my_bundle" bundle description, and download a new bundle, saving it as output.zip:

jacqui -t my_theme.json -b my_bundle.json -o output.zip

Preview: Open "my_theme" using the theme roller, so you can see what the theme looks like:

jacqui -t my_theme.json --preview


unjacqui is used to take a URL describing a theme, and turn it into a configuration file that can be managed.

To use unjacqui: Visit http://jqueryui.com/themeroller/, and construct a custom theme. Then, copy the URL for the theme, and pass it to unjacqui:

unjacqui -o my_theme.json "http://jqueryui.com/themeroller/#ffDefault=Segoe+UI%2C+Arial..."

The URL has been truncated here - it will be quite long in practice.

This will output a JSON file named "my_theme.json" containing a theme description.