Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SassC/libsass plugin for LiveReload #17

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

azindler
Copy link

@azindler azindler commented Jan 8, 2015

Built by making a few straightforward mods to existing SASS.lrplugin/manifest.json. Essentially, I changed the bits that point to the compiler, made the user-selectable options consistent with those of the SassC/Libsass compiler, lopped of the Compass block at the bottom, and didn't mess with any of the syntax checking or the error trapping and handling. The compiler is Libsass 3.1.0 Bulleit Bottle (https://github.com/sass/libsass/releases) wrapped in SassC 3.1.0 Bulleit Bottle (https://github.com/sass/sassc/releases) using shell script from https://gist.github.com/ryanjbonnell/e03f3cf1e9f6b3cf402b and is linked to /usr/local/bin/sassc on my MacPro6,1 running OS X 10.10. I put SassC.lrplugin/manifest.json in the LiveReload Resources directory in place of the SASS.lrplugin which comes with LiveReload 2.3.65. It would be nice to integrate the SassC/Libsass compiler into the original SASS.lrplugin and give the user a choice between SassC/Libsass and Ruby SASS, but this may be more than I'm up to and is probably more than I have time for right now. Along with fswatch (https://github.com/emcrisostomo/fswatch) triggering rsync updates to my remote server, I have all the functionality I was looking for for front-end web development... now I just have to learn to be a front-end developer!

I'm hoping one of you guys who really know what you're doing (@andreyvit, @kizu) will have a look at this and tell me whether I've screwed up in any obvious way (codewise or with GitHub protocol - my first time doing this). If there is something else I should do, point me in the right direction and I'll give it a try! Thanks.

Built by making a few straightforward mods to existing SASS.lrplugin/manifest.json. Essentially, I changed the bits that point to the compiler, made the user-selectable options consistent with those of the SassC/Libsass compiler, lopped of the Compass block at the bottom, and didn't mess with any of the syntax checking or the error trapping and handling. The compiler is Libsass 3.1.0 Bulleit Bottle (https://github.com/sass/libsass/releases) wrapped in SassC 3.1.0 Bulleit Bottle (https://github.com/sass/sassc/releases) using shell script from https://gist.github.com/ryanjbonnell/e03f3cf1e9f6b3cf402b and is linked to /usr/local/bin/sassc on my MacPro6,1 running OS X 10.10. I put SassC.lrplugin/manifest.json in the LiveReload Resources directory in place of the SASS.lrplugin which comes with LiveReload 2.3.65. It would be nice to integrate the SassC/Libsass compiler into the original SASS.lrplugin and give the user a choice between SassC/Libsass and Ruby SASS, but this may be more than I'm up to and is certainly more than I have time for right now. Along with fswatch (https://github.com/emcrisostomo/fswatch) triggering rsync updates to my remote server, I have all the functionality I was looking for for front-end web development... now I just have to learn to be a front-end developer!
@andreyvit
Copy link
Member

Hey, this is pretty awesome! Let me look at it next week.

@andreyvit
Copy link
Member

Okay, so there are some issues, but they are all solvable:

  • Error patterns seem suspicious. If this is C code, I don't think it can print Errno::ENOENT error, can it?
  • The plugin should be disabled by default, because otherwise LiveReload 2 will just execute both by default.
  • I'm not sure this needs to be added to LiveReload 2. There's private alpha testing of LiveReload 3 going, and I guess we can focus on making it work there. 3.0 α4 may be a bit too smart about versions to actually work with this new plugin (it's focused on npm packages and gems, and will probably bail if none of those are found). I'm releasing α5 soon, let me look at getting it working there.
  • Any dependencies should be bundled with the plugin, so we need to add a script that downloads and bundles the binaries.
  • And needless to say, we need a way to pick the compiler flavor inside LiveReload, but that's something for me to handle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants