Gulp plugin that uses RTLCSS to convert LTR CSS to RTL.
$ npm install --save-dev gulp-rtlcss
var gulp = require('gulp');
var rtlcss = require('gulp-rtlcss');
gulp.task('default', function () {
return gulp.src('styles.css')
.pipe(rtlcss())
.pipe(gulp.dest('dist'));
});
The plugin optionally accepts RTLCSS configuration either as an argument or with a file named .rtlcssrc
or .rtlcssrc.json
.
See the RTLCSS documentation for more information about accepted configuration.
The below example will result in 2 copies of each stylesheet, one LTR stylesheet and one RTL stylesheet (with "-rtl" appended to the filename before the extension). The example uses autoprefixer, this is just an example of other CSS post-processing being used before rtlcss.
var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var rtlcss = require('gulp-rtlcss');
var rename = require('gulp-rename');
var sourcemaps = require('gulp-sourcemaps');
gulp.task('styles', function () {
return gulp.src(['/styles/*.css'])
.pipe(sourcemaps.init())
.pipe(autoprefixer(["last 2 versions", "> 1%"])) // Other post-processing.
.pipe(gulp.dest('dist')) // Output LTR stylesheets.
.pipe(rtlcss()) // Convert to RTL.
.pipe(rename({ suffix: '-rtl' })) // Append "-rtl" to the filename.
.pipe(sourcemaps.write('dist')) // Output source maps.
.pipe(gulp.dest('dist')); // Output RTL stylesheets.
});
- #6 Upgrade to RTLCSS 2.
- #2 Add support for RTLCSS configuration.