Skip to content

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

License

Notifications You must be signed in to change notification settings

lewie6/grunt-flipcss

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 91.7%
  • CSS 8.3%