Skip to content

Instantly share code, notes, and snippets.

@rxaviers
Last active December 16, 2015 09:19
Show Gist options
  • Select an option

  • Save rxaviers/5412513 to your computer and use it in GitHub Desktop.

Select an option

Save rxaviers/5412513 to your computer and use it in GitHub Desktop.
Big picture of the communication (input and output) between the building blocks of jQueryUI DownloadBuilder

DownloadBuilder

requirement

input

  • version
  • components list
  • theme vars
  • scope for the theme (optional)

output

Builder

requirement

[!] Although, the above templates are very tightly coupled with jQueryUI implementation. If Builder lives outside of jQueryUI, any template needing any extra parameter to be passed, or if we need any template somewhere else, it will eventually require a change in the code and addition of versions check to know what to do.

input

  • jQueryUI [via JQueryUI]
  • components list
  • processed theme CSS and theme folder name [via ThemeRoller]
  • scope for the theme (optional)
  • bundle suffix (optional, default: ".custom")
  • whether to include or not tests (optional)
  • whether to include or not docs (optional)
  • whether to include or not themes (optional)

output

  • zip package

ThemeRoller

requirement

input

  • jQueryUi [via JQueryUI]
    Needed, because:
    (a) get the souce of base themes/base/jquery.ui.theme.css;
    (b) different versions have processing differences;
  • theme vars
  • scope for the theme (optional)

output

  • processed theme CSS
  • theme folder name

JQueryUI

requirement

  • access to all its source files
  • metadata below

input

  • source files
  • metadata with component dependencies [via current manifest files]
  • metadata with categories [via current manifest files, plus categories manifest]
  • metadata with files semantics [via files semantics manifest ]

output

  • access to files by their semantic groups
  • access to file data by their path
  • aggregated component dependencies
  • list categories
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment