中文描述:一个蟒蛇脚本

css-class-names的Python项目详细描述


css类名Build Status

用于css类名条件生成的python脚本。由节点包classnames执行。

为什么?

nodeclassnames包在React/JSX和一般javascript前端开发方面帮助了我很多。在使用djangojinja2模板时,我确实遗漏了一些类似的东西,所以,我决定创建这个包。

用法

您可以通过调用参数为:

的函数来添加css类名
  • 字符串
  • 数字:浮点数或整数(允许0)
  • 序列:列表或元组
  • 词典
fromcss_class_namesimportclass_namesclass_names('header','is-visible')# 'header is-visible'class_names(['is-visible','text-uppercase'])# 'is-visible text-uppercase'class_names((100001000,'clear'))# '100001000 clear'class_names('header',{'header--is-fixed':True,'header--is-blue':False})# 'header header--is-fixed'

条件指令

字典可用于有条件地使用表达式连接类名:

fromcss_class_namesimportclass_nameserrors=['Some error']class_names('alert',{'alert-danger':errors,'alert-success':noterrors,'small':True})# 'alert alert-danger'class_names('client',{'client-{}'.format(client.id):client,'disable':notclient.active()})# 'client client-989'

不包括falsy值

将忽略错误值(0除外)和不支持的类型:

fromcss_class_namesimportclass_namesclass_names([],'',False,{},0,object(),lambdax:x,None)# '0'

剥去并压平

字符串是条带化的,序列是递归展平的:

fromcss_class_namesimportclass_namesclass_names([' header   ',['  green ',' small ']])# 'header green small'

重复数据消除

可以使用dedupe参数对名称进行重复数据消除:

fromcss_class_namesimportclass_namesclass_names('cart','is-open','is-logged',{'is-logged':True},dedupe=True)# 'cart is-open is-logged'

前缀

可以使用prefix参数添加类名前缀。当需要类命名空间或使用BEM方法时,这非常有用:

fromcss_class_namesimportclass_namesclass_names('head','head--is-empty',{'head--is-large':True},prefix='mysite-')# 'mysite-head mysite-head--is-empty mysite-head--is-large'

开发

克隆存储库后,创建一个virtualenv并使用Makefile命令来setup开发需求和运行测试:

make setup
make lint 
make test 
make watch # run tests when code changes
make coverage

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

推荐PyPI第三方库


热门话题
java ImageIO。写入()低质量图像   使用安卓的设备屏幕大小的java拖放图像   java Adler32重复速度非常快   java在使用Burp Suite Community Edition时遇到此错误   java是否可以在交换机中使用已存在的字符串?   java:把反斜杠看作正常字符的方法   java如何创建Criteria Builder查询来连接三个具有一对一和多对一实体关系的表?   Java Spark:如何在数据集上进行flatMap,并为后续的groupBy提供新的模式?   JavaTestNG运行每个方法,并忽略TestNG中包含的方法。xml   无法使用Java运行linux命令   java我可以用什么来代替AudioPlayer。游戏者停止();?   关于如何使用pop3使用javamail从gmail帐户删除电子邮件的java查询   java Firebase Android数据库查询(读取数据)