Code Monkey home page Code Monkey logo

grunt-less-to-sass's People

Contributors

duvilliera avatar rosskevin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

grunt-less-to-sass's Issues

Infinite arguments

If you get a code like this:

.transition(...) {
    -webkit-transition: @arguments;
    -moz-transition: @arguments;
    -ms-transition: @arguments;
    -o-transition: @arguments;
    transition: @arguments;
}

You will get a issue in final code. At this moment I fix with follow code:

{
  pattern: /\.([\w\-]*)\s*\((.*)\)\s*\{/gi
  replacement: (match, name, argument) ->
    if argument == '...'
      argument = '$arguments...'

    '@mixin ' + name + '(' + argument + '){'
  order: 3
}

But I not right if this is the best match.

multi-line replacement

I'm attempting a multiline replacement, but having some issues. Does this only work on a line-by-line basis?

            { // http://rubular.com/r/oL4O1x6Wda
              pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$.+?(?!\r|\n)), {$\n.+?(?!\r|\n)(\d+).+?(?!\r|\n)}\);$\n/m,
              replacement: '@include button-variations(unquote($1), $2, $3%);',
              order: 2
            }

Still Active?

Hello! I've been using your code in my project and I've come across some more transformations that may be good. I wanted to make sure this repository was active before I opened PRs to contribute them back!

Here they are BTW

{ // Change separator in @include statements
  pattern: /@include ([^\(]+)\(([^\)]+)\);/gi,
  replacement: function mixinCommas(match, $1, $2) {
    return '@include ' + $1 + '(' + $2.replace(/;/g, ',') + ');';
  },
  order: 4 // after defaults included in less-to-sass
},
{ // Remove unquote
  pattern: /unquote\("([^"]+)"\)/gi,
  replacement: function ununquote(match, $1) {
    return $1;
  },
  order: 4
},
{ // Inline &:extends converted
  pattern: /&:extend\(([^\)]+)\)/gi,
  replacement: '@extend $1',
  order: 4
},
{ // Wrap variables in calcs with #{}
  pattern: /calc\([^;]+/gi,
  replacement: function calcVariables(match) {
    return match.replace(/(\$[^ ]+)/gi, '#{$1}');
  },
  order: 4
},
{ // Remove !default from extends (icons.scss)
  pattern: /@extend ([^;}]+) !default;/gi,
  replacement: '@extend $1;',
  order: 5
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.