Package: gocept.recipe.bowerstaticbundler
gocept.recipe.bowerstaticbundlerBundling and minifying components included viabowerstatic.This recipe imports you bowerstatic components, which you must specify in the
recipes config (see below for details). It then retrieves your local components,
calculates the import order and minifies and bundles JS and CSS files. The
bundles are saved to yourbower_componentsfolder (or whatever folder you
specified) as a new component calledbowerstatic_bundle.In your application you can then switch between bundled or non-bundled versions
with an include helper function:def bower_include(environ, name):
    if not os.environ.get('BOWERSTATIC_DEBUG'):
        name = 'bowerstatic_bundle'
    include = components.includer(environ)
    include(name)In your view, where you normally get the includer and include your libraries,
you now call:bower_include(self.request.environ, '<you_library_name>')This package usesrcssminandrjsminto minify CSS and JS files.ConfigurationHere is an example configuration forbowerstaticbundler:[buildout]
parts += bundle

[bundle]
recipe = gocept.recipe.bowerstaticbundler
eggs = mypackage
       myotherpackage
modules = mypackage.browser.resource
          myotherpackage.browser.resource
bower = mypackage.bower
target_dir = ${config:bower_components}
environment = bundle-config

[bundle-config]
BOWER_COMPONENTS_DIR = ${config:bower_components}You need to specify the location of your local components via theeggsandmodulesoptions. Eggs is needed to import your modules, where the components
live, while modules specify the path to import them directly. This is needed as
bower calculates the components and resources during import time, so we need to
trigger them in the build step.You also must provide the location of you bower singleton via theboweroption.target_dirspecifies the directory, where the bundled component will be
placed. It is recommended to point this to yourbower_componentsfolder, where
your bower packages live, asbowerstaticwill have to import the bundles as
well in order to be able to include them into your Application.With theenvironmentoption you can specify environment variables. In the
example above we specify one environment variable calledBOWER_COMPONENTS_DIR, which is the variable bower is looking for in the
environment to get the installed bower packages. This might be different in your
setup.CHANGES1.2.2 (2015-01-30)Support for multiple local components.1.2.1 (2015-01-14)Also copy images into the bundle dir, which will be rendered as the fav icon.Make generated .bower.json file more readable by adding newlines and indent.When copying resources, create a separate directory for each package to
reduce probability of name clashes.1.2.0 (2015-01-13)Copy all template files into the bundle dir, rather building one huge
bundle.pt template1.1.1 (2015-01-12)Prevent error on update ifbowerstatic_bundledirectory is missing.1.1 (2015-01-12)Symlink additional resources references in CSS files (images, fonts, …) into
the bundle and point minified CSS to these symlinks.1.0.2 (2015-01-08)Fixed handling of thepkg_resourcesworking set when collecting
resources from eggs.Make sure recipe does not brake when there are no resources to bundle.1.0.1 (2014-09-20)Repair homepage url in setup.py.1.0.0 (2014-09-20)Initial release.