WebAssets的Compass完整集成

webassets_compassconnector的Python项目详细描述


与Compass for Python3应用程序无缝集成。

要获得全面的体验,您必须使用带有https://github.com/miracle2k/webassets/pull/240https://github.com/miracle2k/webassets/pull/241补丁的webassets。 尤其是如果你用的是Python3.3。或者,您可以从https://github.com/glorpen/webassets(branchmymaster)安装webassets fork。

使用未修补的版本可能导致错误的依赖项跟踪(即使子资源已更改,父资源也可能无法编译)。

它解决了什么问题?

  • 为Compass文件添加加载路径命名空间-以便您可以跨应用程序导入或使用其他包中的资产
  • 您不需要已安装的资产-Connector为您的软件包使用文件
  • 在修改其任何依赖项时重新编译/更新资产-是另一个导入、内联字体文件还是只是width: image-width(@path/myimage.png);

如何安装

  • 首先,您需要安装ruby connector gem:
gem install compass-connector
  • 然后安装过滤器:
pip install webassets_compassconnector

虚拟路径

有三种“路径”:

  • 应用程序,以@开头,可能看起来像@public/images/asset.png
  • 卖主:一个相对路径,应该只使用指南针插件(如ZURB基金会,蓝图)
  • 绝对路径:以/http://等开头,并且不会被连接器更改

一些示例:

@import"@package/scss/settings";/* will resolve to eg. .../package/scss/_settings.scss */@import"foundation";/* will include foundation scss from your compass instalation */width:image-size("@package/public/images/my.png");background-image:image-url("@package/public/images/my.png");//willgenerateurlwithprefixesgivenbyWebassets@import"@package/sprites/*.png";//willimportspriteslocatedinpackage/sprites/(generatedurlwillbewithappliedWebassetprefixes)

用法

独立示例:

fromwebassetsimportEnvironment,Bundlefromwebassets_cc.filterimportCompassConnectorFilterenv=Environment("/some/path/out",'/media-prefix')env.config["compass_bin"]="/path/to/compass/bin"env.config["vendor_path"]="vendor"#it is relative path prepended in vendor urls#if using zurb_foundation python packageenv.config["compass_imports"]=[pkg_resources.resource_filename("zurb_foundation","scss")]#if using zurb-foundation ruby packageenv.config["compass_plugins"]={"zurb-foundation":">4"}env.append_path("/some/path/assets","/")env.append_path("/some/path/vendors","/vendors")scss=Bundle('scss/my.scss',filters=CompassConnectorFilter,output='my.css')

使用webassets、pyramid和jinja2:

config=Configurator()config.include('pyramid_jinja2')config.add_settings({"webassets.base_dir":join(root_dir,"cache","assets"),"webassets.base_url":"/static"})config.include('pyramid_webassets')config.add_route('show','/')config.add_static_view(name='static',path=join(root_dir,"cache","assets"))scss=Bundle('package:resources/assets/app.scss',filters=CompassConnectorFilter,output='app.css')config.add_webasset('styles',scss)config.add_jinja2_extension('webassets.ext.jinja2.AssetsExtension')assets_env=config.get_webassets_env()assets_env.config["compass_bin"]="/home/user/.gem/ruby/1.9.1/bin/compass"assets_env.config["compass_plugins"]={"zurb-foundation":">4"}config.get_jinja2_environment().assets_environment=assets_env

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
构造函数或创建对象时未调用java组件   java如何序列化Hibernate实体,而不在测试代码中自动生成字段?   swing获取字符串java中的图标包路径   zip Java SE 6使用ZipEntry识别目录时遇到问题   java在Javafx中创建闪存卡集   java检查带有条件的两个变量signum   Kotlin的类型具体化使哪些在Java或Scala中不可能的事情成为可能?   java正在Eclipse中创建@string资源约定?   Java中的数组分离链   java为什么局部变量仍然显示警告,尽管方法中使用了值?   java Selenium Webdriver:自动重复成功的场景   java为什么这会导致堆栈溢出错误?有向图   java如何访问泛型对象的类型?   启用proguard(缩小)时出现java Jackson错误   java使用Spring@Configuration构建rest模板   java为什么springbootdatajdbc查询方法不需要参数构造函数   导入JCC时发生java错误。找不到libjava。所以   Java 8将列表流到具有相同值的映射中   JAVANetbeans中的Log4j2不会打印正确的输出,也不会保存文件