Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
http://github.com/rimvaliulin/pass
The pythonic awesome stylesheet language.
Pass is a dynamic stylesheet language and css preprocessor for web-developers that makes ccs coding simple and beautiful by having dynamic behavior such as variables, inheritance, operations and functions with python like indented syntax.
::
pip install pass
::
pass style.pass
::
import Pass
Pass('style.pass')
"DRY - don't repeat yourself" <http://en.wikipedia.org/wiki/Don't_repeat_yourself>
_"The Zen of Python" <http://en.wikipedia.org/wiki/The_Zen_of_Python>
_.Variables allow you to specify widely used values in a single place, and then re-use them throughout the stylesheet, making global changes as easy as changing one line of code.
+------------------------------------------+------------------------------------------+ |:: |:: | | | | | // Pass | /* Compiled CSS */ | | link_active = #1f6ba2 | .menu-item { | | link_hover = #ccc | color: #1f6ba2; | | link_height = 32px | line-height: 16px | | link_size = 1em | } | | | a:hover { | | .menu-item | color: #ccc | | color link_active | font-size: 1.5em | | line-height link_height / 2 | background: #000 | | | } | | a:hover | | | color link_hover | | | font-size link_size + 0.5 | | | background #000 | | | | | +------------------------------------------+------------------------------------------+
Rather than constructing long selector names to specify inheritance, you can simply nest selectors inside other selectors.
+------------------------------------------+------------------------------------------+ |:: |:: | | | | | // Pass | /* Compiled CSS */ | | line_height = 16px | .menu { | | .menu | margin-bottom 8px | | margin-bottom line_height/2 | } | | -item | .menu-item { | | float left | float left | | color #fff | color #fff | | :visited | } | | color #eee | .menu-item:visited { | | _active | color #eee | | :hover | } | | color #ccc | .menu-item_active, .menu-item:hover { | | span | color #ccc | | background-color #ccc | } | | | .menu span { | | | background-color #ccc | | | } | | | | +------------------------------------------+------------------------------------------+
Class naming scheme::
block-[element]
[child_]parent-[[parent]_child]
+------------------------------------------+------------------------------------------+ |:: |:: | | | | | // Pass | /* Compiled CSS */ | | ._foo | ._foo,.foo,.сhild_foo,.new_child_foo{}| | pass | .foo{} | | | .child_foo,.new_child_foo{} | | .foo | .new_child_foo{} | | pass | | | | | | .сhild_foo | | | pass | | | | | | .new_child_foo | | | pass | .bar-link,bar-link_active{} | | | bar-link_active{} | | .bar | | | -link | | | pass | | | _acive | | | pass | | +------------------------------------------+------------------------------------------+
Usage::
@parent "style.pass"
Color initialization ####################
rgb(r, g, b) - Converts an Rgb(r, g, b) triplet into a color
rgba(r, g, b, a) - Converts an Rgba(r, g, b, a) quadruplet into a color.
hsl(h, s, l) - Converts an Hsl(h, s, l) triplet into a color.
hsla(h, s, l, a) - Converts an Hsla(h, s, l) quadruplet into a color.
Get/set color components ########################
red(color, value=None) - Return the red component of the given color.
green(color, value=None) - Return the green component of the given color.
blue(color, value=None) - Return the blue component of the given color.
hue(color, value=None) - Return the hue of the given color.
saturation(color, value=None) - Return the saturation of the given color.
lightness(color, value=None) - Return the lightness of the given color.
alpha(color, value=None) - Return the alpha component of the given color.
Color adjustment ################
spinin(color, value=Pr(10)) - Changes the hue of a color.
spinout(color, value=Pr(10)) - Changes the hue of a color.
lighten(color, value=Pr(10)) - Makes a color lighten.
darken(color, value=Pr(10)) - Makes a color darker.
saturate(color, value=Pr(10)) - Makes a color more saturated.
esaturate(color, value=Pr(10)) - Makes a color less saturated.
fadein(color, value=Pr(10)) - Add or change an alpha layer for any color value.
fadeout(color, value=Pr(10)) - Add or change an alpha layer for any color value.
grayscale(color) - Converts a color to grayscale.
complement(color) - Returns the complement of a color.
invert(color) - Returns the inverse of a color.
mix(color, color1, weight=Pr(50)) - Mixes two colors together.
String Functions ################
quote(s) - Removes the quotes from a string.
unquote(s) - Adds quotes to a string.
Number Functions ################
percentage(value) - Converts a unitless number to a percentage.
round_(value, digits=0) - Rounds a number to the nearest whole number.
ceil(value) - Rounds a number up to the nearest whole number.
floor(value) - Rounds a number down to the nearest whole number.
--version show program's version number and exit -h, --help show this help message and exit -i, --inherit use selector inheritance, rather then property duplication -c, --compressed compress imported .css files -e, --empty-selectors keep empty selectors -r, --respect-indents respect indentes -n, --newlines use newlines -I INDENT, --indent=INDENT .pass file indentation. default 2 breaks -C CSS_INDENT, --css-indent=CSS_INDENT .css file indentation. default 4 breaks -C CSS_INDENT, --css-indent=CSS_INDENT .css file indentation. default 4 breaks
See LICENSE
file.
::
Copyright (c) 2012 Rim Valiulin
:Author: Rim Valiulin
FAQs
The pythonic awesome stylesheet language
We found that Pass demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.