grunt-flipcss

Flips LTR-based CSS files to RTL, or the opposite.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
grunt-flipcss
700.4.07 years ago9 years agoMinified + gzip package size for grunt-flipcss in KB

Readme

grunt-flipcss
Flips LTR-based CSS files to RTL, or the opposite.

Build Status Dependency Status Bitdeli Badge

Getting Started

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');

The "flipcss" task

Overview

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.
    },
  },
})

Options

options.warnings

Type: boolean Default value: false
If output warnings should be printed to console.

options.flipPseudo

Type: boolean Default value: false
If :before and :after pseudo selectors should be flipped.

options.flipUrls

Type: boolean Default value: true
If words left and right inside url() should be flipped.

options.flipSelectors

Type: boolean Default value: true
If words left and right inside selectors should be flipped.

options.cleanDirection

Type: string Default value: null Possible values: rtl or ltr
see: https://github.com/oyvindeh/flipcss#what-is-done-when-cleaning

Usage Examples

Flip one file

In this example, a single file is flipped.
grunt.initConfig({
  flipcss: {
    app: {
      files: {
        'css/main-rtl.css': 'css/main.css'
      }
    }
  }
})

Flip multiple files

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'
      }
    }
  }
})

Flip multiple files to one file

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']
      }
    }
  }
})

Flip multiple file groups to multiple files

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'
        }
      ]
    }
  }
})

Contributing

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.