An extension to manage and serve your javascript assets with bower
Project description
Flask-Bower provides a method to manage and serve bower installed packages. This simplifies javascript dependency management a lot.
To provide this, there is a flask blueprint to serve content from your bower_components directory and use url_for() for serving the files same as serving files form flask static folder.
Usage
from flask.ext.bower import Bower [...] Bower(app)
Now it should look like:
$ ls -1 app/bower_components/jquery MIT-LICENSE.txt bower.json dist src
To include and use this, you can use url_for():
<script src="{{ url_for('bower.static', filename='jquery/dist/jquery.js') }}"></script>
Configuration
There are several configuration options to customize the behavior:
- BOWER_COMPONENTS_ROOT
default: bower_components
Directory name containing your installed bower packages
- BOWER_KEEP_DEPRECATED
default: True
Keep deprecated functions available
Note: deprecated functions will be removed in future versions
affected functions:
bower_url_for - please migrate to url_for('bower.static', filename='component/path')
- BOWER_QUERYSTRING_REVVING
default: True
Append ?version= parameter to url (useful for cache busting by updates). It tries to detect the version in the following order:
bower.json
package.json (if available)
file modification timestamp
- BOWER_REPLACE_URL_FOR
default: False
Replace flasks url_for() function in templates.
This is useful - but not recommended - to build an “overlay” for the static folder.
Warning: Replacing url_for() causes conflicts with other flask extensions like flask-cdn, since only one extension can replace url_for() at a time and the last registered extension wins.
- BOWER_SUBDOMAIN
default: None
Subdomain to serve the content like static (see flask blueprint documentation for subdomains)
- BOWER_TRY_MINIFIED
default: True
Check if a minified version is available and serve this instead (check if a file with <filename>.min.<ext> like jquery/dist/jquery.min.js exists)
- BOWER_URL_PREFIX
default: /bower
Customize the url prefix
Changes
- 1.2.1:
remove BuildError handling since flask is already taking care (glitch in the flask documentation)
- 1.2.0:
add conditional switch on send_file to ensure 304 responses
- 1.1.0:
flasks default url_for is now supported for bower assets - requires Flask >= 0.9
added BOWER_KEEP_DEPRECATED option
added BOWER_REPLACE_URL_FOR option
bower_url_for is now deprecated
- 1.0.3:
(not released)
bower.json is now optional since it may be not available if files are pulled from a random source which is not supporting bower
- 1.0.2:
updated documentation
- 1.0.1:
initial release
Deprecations
bower_url_for(component, file)
This is now deprecated since it is a break of the development workflow due to the use of a different function than url_for(), which is the default for url handling in flask.Since v1.1.0 it is possible to use the default url_for() function also for flask assets::url_for('bower.static', filename='component/path')Use of this new approach is recommended to all developers and to simplify the migration the bower_url_for() function will stay available for a while; though it can be disabled to help migrating (see BOWER_KEEP_DEPRECATED)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Flask_Bower-1.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faca689cb6a3c585b05d8d29622619eb588be4494ca00a3c5b023592b2a4a448 |
|
MD5 | e1ff69afc8169a9dde17f4f794aca084 |
|
BLAKE2b-256 | 9df042c866ca206fc58ff93f70db38628e4b6248d74e3fda7655e7ab7b1c464b |