css-flip
A CSS BiDi flipper. Generate left-to-right (LTR) or right-to-left (RTL) CSS from your source.
Installation
npm install css-flip
Example use
var flip = ;var css = 'div { float: left; }'; ;// => 'div { float: right; }'
As a Rework plugin:
var flip = ;var rework = ;var css = 'div { float: left; }'; ;// => 'div { float: right; }'
Supported CSS Properties (a-z)
background-position
,
background-position-x
,
border-bottom-left-radius
,
border-bottom-right-radius
,
border-color
,
border-left
,
border-left-color
,
border-left-style
,
border-left-width
,
border-radius
,
border-right
,
border-right-color
,
border-right-style
,
border-right-width
,
border-style
,
border-top-left-radius
,
border-top-right-radius
,
border-width
,
box-shadow
,
clear
,
direction
,
float
,
left
,
margin
,
margin-left
,
margin-right
,
padding
,
padding-left
,
padding-right
,
right
,
text-align
transition
transition-property
Processing directives
css-flip provides a way to ignore declarations or rules that should not be flipped, and precisely replace property values.
@noflip
Prevent a single declaration from being flipped.
Source:
Yields:
Prevent all declarations in a rule from being flipped.
Source:
/*@noflip*/
Yields:
@replace
Replace the value of a single declaration. Useful for custom LTR/RTL adjustments, e.g., changing background sprite positions or using a different glyph in an icon font.
Source:
Yields:
CLI
The CLI can be used globally or locally in a package.
View available options:
css-flip --help
Example use:
css-flip path/to/file.css > path/to/file.rtl.css
Development
Run the lint and unit tests:
npm test
Just the JSHint tests:
npm run lint
Just the Mocha unit tests:
npm run unit
Run Mocha unit tests in "watch" mode:
npm run watch
License and Acknowledgements
Copyright 2014 Twitter, Inc. and other contributors.
Licensed under the MIT License
css-flip was inspired by ded/R2 and Closure Stylesheets.