Integrates Webassets into Morepath.
Project description
This package is somewhat similar to more.static, which integrates bowerstatic into Morepath. It is currently not really used anywhere, so you should probably stick to more.static.
Now that you are sufficently discouraged from using more.webassets, these are the reasons it might be for you:
You don’t have to learn about javascript package managers (i.e. Bower).
You can have your assets compiled on the fly.
Your stylesheets are rendered at the top, your scripts at the bottom. No configuration necessary.
If you are alreay familiar with webassets: This package might not be as powerful as you’re used to. It currently has little flexibility. It’s also the first time the author uses webassets, so things might be off.
Usage
To get a basic application that serves webassets under /assets/*:
from morepath import reify
from more.webassets import WebassetsApp
from webassets import Bundle
class MyApp(WebassetsApp):
@reify
def webassets_bundles(self):
return {
'jquery': Bundle(
'jquery.js',
filters='jsmin',
output='bundles/jquery.bundle.js'
)
}
@MyApp.path('')
class Root(object):
pass
@MyApp.html(model=Root):
def index(self, request):
request.include('jquery')
return '<html><head></head><body>hello</body></html>'
This will result in the following html (formatted for readability):
<html>
<head></head>
<body>hello</body>
<script type="text/javascript" src="./assets/bundles/jquery.bundle.js?1234"></script>
</html>
For it to work you need an ‘assets’ folder with a ‘jquery.js’ file in the same folder as your python file where ‘MyApp’ is defined.
Run in Debug Mode
To activate the webassets debug mode (which disables bundling), simply add return the following webassets environment config:
from morepath import reify
from more.webassets import WebassetsApp
class MyApp(WebassetsApp):
@reify
def webassets_environment_config(self):
return {
'debug': True
}
Run the Tests
Install tox and run it:
pip install tox tox
Limit the tests to a specific python version:
tox -e py27
Conventions
More Webassets follows PEP8 as close as possible. To test for it run:
tox -e pep8
More Webassets uses Semantic Versioning
Build Status
Coverage
Latests PyPI Release
License
more.webassets is released under the revised BSD license
Changelog
0.1.1 (2016-01-24)
Disables webassets url caching if debug mode is active. [href]
0.1.0 (2016-01-24)
Support webassets debug mode (before it would trigger an exception). [href]
0.0.3 (2015-08-07)
Cache the resource urls for increased speed. Note that with this change a reload of the application is necessary to get the updated javascript files.
If this is an issue for you, speak up and we might add a debug flag. [href]
0.0.2 (2015-05-18)
Adds more checks to ensure we never serve anything outside the assets directory. [href]
0.0.1 (2015-04-29)
Initial Release [href]
Project details
Release history Release notifications | RSS feed
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 more.webassets-0.1.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22808feeab0c3d4f6171cf8b8142c5dca7850fb10dea62b9b5958d8d8663eaf5 |
|
MD5 | 2e8f8c5c026d77ada2875aa8b1b59666 |
|
BLAKE2b-256 | ab8f3749eec918f604eb2e42c83cf8beff2502c6578585feef923bf4ba0c3656 |