PostCSS-dima-rtl is a PostCSS RTL Plugin use RTLCSS.
It verifies if the name of your CSS/PCSS file includes the suffix '-rtl', and if so, it applies RTLCSS to the RTL file exclusively.
LTR input:
.code {
direction:ltr;
text-align:left;
}
RTL output:
.code {
direction:rtl;
text-align:right;
}
LTR input:
body {
font-family:"Droid Sans", Tahoma/*rtl:prepend:"Droid Arabic Kufi",*/;
font-size:14px/*rtl:16px*/;
}
RTL output:
body {
font-family:"Droid Arabic Kufi","Droid Sans",
Tahoma; font-size:16px;
}
To skip flipping specific declarations use some of supported directives:
Syntax | Description |
---|---|
/*rtl:ignore*/ |
Ignores processing of the following node or nodes within scope. |
Ignore one rule:
/*rtl:ignore*/
.code {
direction:ltr;
text-align:left;
}
Value-syntax to ignore a single CSS declaration::
.code {
direction:ltr;
text-align:left /* rtl:ignore */;
}
Self-closing:
.code {
/*rtl:ignore*/
direction:ltr;
/*rtl:ignore*/
text-align:left;
}
Block-syntax:
.code {
/*rtl:begin:ignore*/
direction:ltr;
text-align:left;
/*rtl:end:ignore*/
}
Step 1: Install plugin:
npm install --save-dev postcss postcss-dima-rtl
Step 2: Check you project for existed PostCSS config: postcss.config.js
in the project root, "postcss"
section in package.json
or postcss
in bundle config.
If you do not use PostCSS, add it according to official docs and set this plugin in settings.
Step 3: Add the plugin to plugins list:
module.exports = {
plugins: [
+ require('postcss-dima-rtl'),
require('autoprefixer')
]
}