为TurboGears2提供的SCSS,快速中间件,用于使用SCSS处理所有CSS
项目描述
关于tgext.scss
SCSS 是CSS的一个酷炫且实用的扩展,但它总是需要一些努力才能使用,甚至在某些系统上还需要特定的生产环境配置。
tgext.scss的诞生是为了让TurboGears2开发者更容易,它将依赖于一个内部最小化的SCSS编译器(基于Zeta-Library SCSS解析器),以将所有以.scss结尾的文件作为text/css提供,同时转换和压缩它们。
安装
tgext.scss可以从PyPI或Bitbucket安装
easy_install tgext.scss
应该对大多数用户有效
启用tgext.scss
如果tgext.pluggable可用,则启用tgext.scss只需将您的config/app_cfg.py文件中的内容添加到其中
from tgext.pluggable import plug plug(base_config, 'tgext.scss')
否则,手动使用tgext.scss非常简单,您只需编辑您的config/middleware.py,并在Wrap your base TurboGears 2 application with custom middleware here注释之后将app包裹在SCSSMiddleware中
from tgext.scss import SCSSMiddleware make_base_app = base_config.setup_tg_wsgi_app(load_environment) def make_app(global_conf, full_stack=True, **app_conf): app = make_base_app(global_conf, full_stack=True, **app_conf) # Wrap your base TurboGears 2 application with custom middleware here app = SCSSMiddleware(app) return app
现在,您只需将您的.scss文件放入public/css目录中,它们将被作为CSS提供服务。
@Import支持
tgext.scss提供了对@import命令的最小支持。所需的语法形式为
@import url('/css/file.scss');
指定的路径相对于您的项目公共文件目录。 嵌套导入目前未实现,这意味着导入的文件不能导入另一个scss
这将让我慢多少?
实际上,由于tgext.scss使用积极的缓存,它根本不会减慢您的速度,甚至可能更快地为您提供服务CSS文件。
以下是关于paster服务器同一CSS文件或SCSS的基准测试报告(绝对不可靠,就像其他基准测试一样)。
$ /usr/sbin/ab -n 1000 http://localhost:8080/css/style.css Requests per second: 961.26 [#/sec] (mean) $ /usr/sbin/ab -n 1000 http://localhost:8080/css/style.scss Requests per second: 1200.34 [#/sec] (mean)
在这种情况下,SCSS甚至比直接提供相同的CSS文件更快,因为它是从内存中提供的(由于tgext.scss的缓存),并且也是经过压缩的,从而减少了带宽的使用。
当然,这意味着tgext.scss将比单独提供CSS文件需要更多的内存,但鉴于CSS文件通常很小,这个数量是可以忽略不计的。
项目详情
tgext.scss-0.4.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d525aa1ef47e070b992df5666362ed0c5d60a4abbf35eb984d22fb0183b617c |
|
MD5 | e6ff49f92a781a55cd76799b8f2df4f8 |
|
BLAKE2b-256 | 8b9073497bd1f15966718b6bac58fa7068bcc4f6ee8fcf3223aa41d83ebc9270 |