css-flip

A CSS BiDi flipper

  • Owner: twitter-archive/css-flip
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

css-flip Build Status

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 = require('css-flip');
var css = 'div { float: left; }';

flip(css);
// => 'div { float: right; }'

As a Rework plugin:

var flip = require('css-flip');
var rework = require('rework');
var css = 'div { float: left; }';

rework(css).use(flip.rework()).toString();
// => '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:

p {
  /*@noflip*/ float: left;
  clear: left;
}

Yields:

p {
  float: left;
  clear: right;
}

Prevent all declarations in a rule from being flipped.

Source:

/*@noflip*/
p {
  float: left;
  clear: left;
}

Yields:

p {
  float: left;
  clear: left;
}

@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:

p {
  /*@replace: -32px -32px*/ background-position: -32px 0;
  /*@replace: ">"*/ content: "<";
}

Yields:

p {
  background-position: -32px -32px;
  content: ">";
}

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.

Main metrics

Overview
Name With Ownertwitter-archive/css-flip
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-02-24 17:16:28
Pushed At2016-11-16 19:48:03
Last Commit At2014-12-08 08:40:12
Release Count3
Last Release Name0.5.0 (Posted on 2014-06-23 14:13:04)
First Release Name0.3.0 (Posted on 2014-02-24 11:22:02)
用户参与
Stargazers Count313
Watchers Count119
Fork Count33
Commits Count30
Has Issues Enabled
Issues Count23
Issue Open Count3
Pull Requests Count5
Pull Requests Open Count1
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private