Skip to content

pkdevboxy/adaptive-evil-blocks

 
 

Repository files navigation

Adaptive Evil Blocks

Build Status

Adaptive Evil Blocks is a filter that adds adaptivity to Evil Blocks. The matchMedia.js polyfill is used for old browsers.

The adaptivity is provided by the @media method powered by underlying matchMedia API. So you can use media queries syntax.

Sponsored by Evil Martians

Installation

Ruby on Rails

Add the adaptive-evil-blocks-rails gem to Gemfile:

gem "adaptive-evil-blocks-rails"

Add adaptive-evil-blocks to your scripts:

//= require adaptive-evil-blocks

Others

Add the pkg/adaptive-evil-blocks.js file to your project or install the bower package:

bower install adaptive-evil-blocks

If you support old browsers, you may want to use the pkg/adaptive-evil-blocks.polyfilled.js file.

Usage

Run code once only if it matches a media query:

evil.block '@@block',

  init: ->
    @media '(max-width: 399px)', -> ...
    @media '(min-width: 400px)', -> ...

The match callback is executed every time on query match, the mismatch callback is executed every time on query mismatch.

evil.block '@@block',

  init: ->
    @media '(max-width: 399px)', match: -> ...
    @media '(min-width: 400px)', match: -> ...

    @media '(max-width: 399px)', match: -> ... , mismatch: -> ...
    @media '(min-width: 400px)', match: -> ... , mismatch: -> ...

Also you can omit brackets for properties like max-width and min-width:

evil.block '@@block',
  init: ->
    @media 'max-width: 399px', -> ...

About

Adaptivity support for Evil Blocks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 50.7%
  • CoffeeScript 33.6%
  • Ruby 9.6%
  • HTML 6.1%