跳转到主要内容

为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 (4.5 kB 查看哈希值)

上传时间

由以下提供支持