为Pyramid项目添加对SCSS的支持
项目描述
============
pyramid_scss
============
概述
============
此模块提供了一些方便的粘合代码,围绕`pyScss <https://github.com/Kronuz/pyScss>`_,允许您的Pyramid项目使用由`SCSS <https://sass-lang.com.cn/docs/yardoc/file.SCSS_FOR_SASS_USERS.html>`_编写的样式表。
安装
============
使用setuptools安装,例如(在虚拟环境内):
$ pip install pyramid_scss
或者如果您更喜欢从Github获取最新版本:
$ git clone git://github.com/jessedhillon/pyramid_scss.git
配置
===============
唯一必要的设置是`asset_path`,它是一个指向您的SCSS样式表根文件夹的资产规范。设置它的一个简单方法是将以下行添加到`project.ini`的`[app:main]`部分:
scss.asset_path = myproject:assets/scss
`asset_path`可以是多行分隔的多个资产路径的字符串。每个路径将按顺序搜索,直到找到匹配的样式表。未匹配的请求将引发`pyramid.httpexceptions.HTTPNotFound`。
``static_path`` 是构建样式表所需的静态资源的路径。与 ``asset_path`` 不同,此设置只接受一个路径。如果设置了 ``static_path``,则需要 ``static_url_root``,它作为生成静态资源 URL 的路径前缀。
``output_path`` 是生成资源(如 spritemaps)的输出路径。如果提供了 ``output_path``,则 ``output_url_root`` 是一个必需的设置,它将作为根据编译资源生成的 URL 的路径部分的前缀。
还有一些其他选项。``compress`` 控制输出文档是否压缩(删除所有空白):
scss.compress = false
另一个选项是 ``cache``,它将在内存中存储文件内容和渲染输出:
scss.cache = true
用法
===============
首先,使用 ``config.include`` 来初始化扩展:
config.include("pyramid_scss")
其次,假设您正在使用 URL 路由,添加一个路由来提供 css:
config.add_route('css', '/css/{css_path:.*}.css')
config.add_view(route_name='css', view='pyramid_scss.controller.get_scss', renderer='scss', request_method='GET')
*待办事项:* 添加遍历示例。
在上面的示例中,位于 ``myproject/assets/scss/style.scss`` 的 SCSS 样式表(使用配置部分中配置的 ``asset_path``)可以通过对 ``http://myproject/css/style.css`` 的 URL 请求来访问。此路由还会解析 ``asset_path`` 的子目录中的样式表。
============
变更日志
============
0.1
------------
*2012年2月1日*
- 首次公开发布。
0.1.1
------------
*2012年2月3日*
- 修复 `issue #1 <https://github.com/jessedhillon/pyramid_scss/issues/1>`_: @import 无法解析相对于 ``asset_path`` 的路径。
0.2
------------
*2012年2月19日*
- 修复 `issue #3 <https://github.com/jessedhillon/pyramid_scss/issues/3>`_: 缓存实现不完整/不正确。
- 添加了 ``static_path`` 配置,以指示静态资源的位置。
0.3
------------
*2013年5月12日*
- 修复 `issue #4 <https://github.com/jessedhillon/pyramid_scss/issues/4>`_: 公开了 ASSETS_* 和 STATIC_* SCSS 配置设置。
- 各种小的错误修复,请参阅提交历史。
0.4
------------
*2014年4月17日*
- 与 Python 3 和 pyScss 1.2 兼容。
pyramid_scss
============
概述
============
此模块提供了一些方便的粘合代码,围绕`pyScss <https://github.com/Kronuz/pyScss>`_,允许您的Pyramid项目使用由`SCSS <https://sass-lang.com.cn/docs/yardoc/file.SCSS_FOR_SASS_USERS.html>`_编写的样式表。
安装
============
使用setuptools安装,例如(在虚拟环境内):
$ pip install pyramid_scss
或者如果您更喜欢从Github获取最新版本:
$ git clone git://github.com/jessedhillon/pyramid_scss.git
配置
===============
唯一必要的设置是`asset_path`,它是一个指向您的SCSS样式表根文件夹的资产规范。设置它的一个简单方法是将以下行添加到`project.ini`的`[app:main]`部分:
scss.asset_path = myproject:assets/scss
`asset_path`可以是多行分隔的多个资产路径的字符串。每个路径将按顺序搜索,直到找到匹配的样式表。未匹配的请求将引发`pyramid.httpexceptions.HTTPNotFound`。
``static_path`` 是构建样式表所需的静态资源的路径。与 ``asset_path`` 不同,此设置只接受一个路径。如果设置了 ``static_path``,则需要 ``static_url_root``,它作为生成静态资源 URL 的路径前缀。
``output_path`` 是生成资源(如 spritemaps)的输出路径。如果提供了 ``output_path``,则 ``output_url_root`` 是一个必需的设置,它将作为根据编译资源生成的 URL 的路径部分的前缀。
还有一些其他选项。``compress`` 控制输出文档是否压缩(删除所有空白):
scss.compress = false
另一个选项是 ``cache``,它将在内存中存储文件内容和渲染输出:
scss.cache = true
用法
===============
首先,使用 ``config.include`` 来初始化扩展:
config.include("pyramid_scss")
其次,假设您正在使用 URL 路由,添加一个路由来提供 css:
config.add_route('css', '/css/{css_path:.*}.css')
config.add_view(route_name='css', view='pyramid_scss.controller.get_scss', renderer='scss', request_method='GET')
*待办事项:* 添加遍历示例。
在上面的示例中,位于 ``myproject/assets/scss/style.scss`` 的 SCSS 样式表(使用配置部分中配置的 ``asset_path``)可以通过对 ``http://myproject/css/style.css`` 的 URL 请求来访问。此路由还会解析 ``asset_path`` 的子目录中的样式表。
============
变更日志
============
0.1
------------
*2012年2月1日*
- 首次公开发布。
0.1.1
------------
*2012年2月3日*
- 修复 `issue #1 <https://github.com/jessedhillon/pyramid_scss/issues/1>`_: @import 无法解析相对于 ``asset_path`` 的路径。
0.2
------------
*2012年2月19日*
- 修复 `issue #3 <https://github.com/jessedhillon/pyramid_scss/issues/3>`_: 缓存实现不完整/不正确。
- 添加了 ``static_path`` 配置,以指示静态资源的位置。
0.3
------------
*2013年5月12日*
- 修复 `issue #4 <https://github.com/jessedhillon/pyramid_scss/issues/4>`_: 公开了 ASSETS_* 和 STATIC_* SCSS 配置设置。
- 各种小的错误修复,请参阅提交历史。
0.4
------------
*2014年4月17日*
- 与 Python 3 和 pyScss 1.2 兼容。