Python-SCSS是用于Python的SCSS编译器。有关SCSS语法的详细信息,请参见http://sass-lang.com。
scss的Python项目详细描述
Python-scss
警告:
我不再支持python scss了。使用kronus的pyscss。
python scss是python的SCSS编译器。文档可在pypi或github找到。 这是zeta-library的一部分。
Features
python scss在sassSCSS3.2及更多版本中具有大部分功能。它支持:
- 嵌套规则
- 关键字参数
- {STR 1 } $ MIXIN < /强>:^ {Tt1} $,^ {TT2}$
- 函数:@function,@return
- 继承:@extend
- 条件:@if,@else,@if else
- 循环:@for
- 变量:$,@variables,@vars
- 图像:image-url,image-width,image-height,…
- 嵌入的内联图像:inline-image
- 颜色处理:adjust-color(),scale-color(),opacify()/transparentize(),lighten()/darken(),mix(),…
- 数学函数:sin(),cos(),tan(),round(),ceil(),floor(),pi(),…
- 选项:@option compress:true, sort:false;,@option comments:false;
- 指南针助手:enumerate,type-of,…
- 排序声明:在Zen sorting order
注意
对于@import支持,可以使用zeta-library,python compass替代品。
zeta库支持@import url(path or http),但所有静态文件都是css、scss。
zeta还支持js导入require( '../jquery.js' );。zeta允许你控制所有的静态文件。
Requirements
- python>;=2.5
- pyparsing=1.5.5
Usage
来自python源代码:
from scss import parser file_path = path_to_file src = open( file_path ).read() # from file print parser.load( 'file_path' ) # from string print parser.parse( 'src' ) # Create parser object p = parser.Stylesheet( options=dict( compress=True ) ) print p.loads( src ) p.load( file_path ) print p
来自命令行:
$ scss --help Usage: scss [OPTION]... [INFILE] [OUTFILE] Compile INFILE or standard input, to OUTFILE or standard output. Options: --version show program's version number and exit -h, --help show this help message and exit -c, --cache Create and use cache file. Only for files. -i, --interactive Run in interactive shell mode. -m, --compress Compress css output. -w WATCH, --watch=WATCH Watch files or directories for changes. The location of the generated CSS can be set using a colon: scss -w input.scss:output.css -S, --no-sorted Do not sort declaration. -C, --no-comments Clear css comments. -W, --no-warnings Disable warnings.
处于交互模式:
scss -i >>> 25px + 1.5em
Examples
- 嵌套规则
示例:
.selector { a { display: block; } strong { color: blue; } }
…产生:
.selector a { display: block} .selector strong { color: blue}
- 变量
示例:
$main-color: #ce4dd6; $style: solid; $side: bottom; #navbar { border-#{$side}: { color: $main-color; style: $style; } }
…产生:
#navbar { border-bottom-color: #ce4dd6; border-bottom-style: solid}
示例:
@mixin rounded($side, $radius: 10px) { border-#{$side}-radius: $radius; -moz-border-radius-#{$side}: $radius; -webkit-border-#{$side}-radius: $radius; } #navbar li { @include rounded(top); } #footer { @include rounded(top, 5px); } #sidebar { @include rounded(left, 8px); }
…产生:
#navbar li { -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; border-top-radius: 10px} #footer { -moz-border-radius-top: 5px; -webkit-border-top-radius: 5px; border-top-radius: 5px} #sidebar { -moz-border-radius-left: 8px; -webkit-border-left-radius: 8px; border-left-radius: 8px}
^ {STR 1 } $MIXIN < /强> - extend(使用@extend)
示例:
.error { border: 1px #f00; background-color: #fdd; } .error.intrusion { background-image: url("/image/hacked.png"); } .seriousError { @extend .error; border-width: 3px; }
…产生:
.error, .seriousError { background-color: #fdd; border: 1px #f00} .error .intrusion, .seriousError .intrusion { background-image: url('/image/hacked.png')} .seriousError { border-width: 3px}
- 交互模式
示例:
$ python scss.py --interactive >>> 25px + 1.5em 44.5px >>> lighten(rgba(130,130,130,.4),10%) rgba(155,155,155,0.40) >>> .rule { test: red; } .rule { test: red } >>> _
Options
python scss有以下选项:
- compress:压缩输出css,默认为false
- cache:预缓存编译结果,默认为false
- comments:保留css注释,默认值为true
- sort:sort声明,默认为true 声明排序在Zen sorting order
- {STR 1 } $警告< /强>:启用或禁用警告:未知的混入、声明名、扩展规则集、缺省值为真
选项可以定义…
从命令行:
scss -m -S file.scss
来自python:
parser = Stylesheet( options=dict( compress=True ) )
来自SCSS源:
@option compress: true, sort: false;
注意
python scss仍处于开发的早期阶段设备
Bug tracker
如果您有任何建议、错误报告或 烦恼请向问题追踪者报告 在https://github.com/klen/python-scss/issues
Copyright
版权所有(c)2011 kirill klenov(horneds@gmail.com)
- Compass:
- (c)2009年克里斯托弗·M·埃普斯坦 http://compass-style.org/
- SCSS:
- (c)2006-2009汉普顿·卡特林和内森·魏岑鲍姆 http://sass-lang.com/
Note
欢迎您的反馈!