Flips LTR-based CSS files to RTL, or the opposite.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-flipcss --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-flipcss');
This plugin is using flipcss.
In your project's Gruntfile, add a section named flipcss
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
flipcss: {
options: {
// Task-specific options go here.
warnings: false,
flipPseudo: false,
flipUrls: true,
flipSelectors: true
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
Type: boolean
Default value: false
If output warnings should be printed to console.
Type: boolean
Default value: false
If :before and :after pseudo selectors should be flipped.
Type: boolean
Default value: true
If words left and right inside url() should be flipped.
Type: boolean
Default value: true
If words left and right inside selectors should be flipped.
In this example, a single file is flipped.
grunt.initConfig({
flipcss: {
app: {
files: {
'css/main-rtl.css': 'css/main.css'
}
}
}
})
In this example, multiple files are flipped.
grunt.initConfig({
flipcss: {
app: {
files: {
'css/main-rtl.css': 'css/main.css',
'css/theme-rtl.css': 'css/theme.css'
}
}
}
})
In this example, multiple files are flipped and concatenated to a single file.
grunt.initConfig({
flipcss: {
app: {
files: {
'css/rtl.css': ['main.css', 'theme.css']
}
}
}
})
In this example, files in two directories are flipped.
grunt.initConfig({
flipcss: {
options: {},
app: {
files: [
{
expand: true,
cwd: 'build/css',
src: '*.css',
dest: 'build/app/css'
},
{
expand: true,
cwd: 'build/theme',
src: '*.css',
dest: 'build/app/theme'
}
]
}
}
})
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.