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

Decouple CoffeeScript and Sass gems. #2362

Closed
wants to merge 2 commits into
from

Conversation

Projects
None yet
5 participants
@parkr
Member

parkr commented May 9, 2014

Strong coupling requires a huge investment by users in terms of
troubleshooting and other packages (e.g. NodeJS or therubyracer)
Running gem install <blah> isn't a significant cost, especially
given that the user ran 'gem install jekyll' just fine. If this
process is automated, adding in these gems and their dependencies
is easy and can be automated too.

To install either of these gems, run gem install <gem_name>
or add them to your site's Gemfile (if exists) by adding
gem <gem_name> to your site's Gemfile, then run bundle install.
They will be automatically required – no work beyond that!

Jekyll shall not be bloatware.

  • Decouple
  • Write installation instructions in docs

Fixes #2335.

@parkr parkr self-assigned this May 9, 2014

@parkr parkr added this to the 2.1 milestone May 9, 2014

@parkr parkr added the Fix label May 9, 2014

@mattr-

This comment has been minimized.

Show comment
Hide comment
@mattr-

mattr- May 9, 2014

Member

Why don't we just change the gemspec in jekyll-coffeescript to require a javascript runtime (i.e. therubyracer) for platforms that require it. I think Linux is the only one that does...

Member

mattr- commented May 9, 2014

Why don't we just change the gemspec in jekyll-coffeescript to require a javascript runtime (i.e. therubyracer) for platforms that require it. I think Linux is the only one that does...

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr May 9, 2014

Member

Why don't we just change the gemspec in jekyll-coffeescript to require a javascript runtime (i.e. therubyracer) for platforms that require it. I think Linux is the only one that does...

Because it's adding bloat. If I have NodeJS installed, I don't want to spend the time installing yet another gem I don't need or want. It's really about bloat. I'd rather decouple in the manner proposed because it introduces a very, very light lift for those that want to use Sass & CoffeeScript, and removes the bloat for those who don't. 😃

Member

parkr commented May 9, 2014

Why don't we just change the gemspec in jekyll-coffeescript to require a javascript runtime (i.e. therubyracer) for platforms that require it. I think Linux is the only one that does...

Because it's adding bloat. If I have NodeJS installed, I don't want to spend the time installing yet another gem I don't need or want. It's really about bloat. I'd rather decouple in the manner proposed because it introduces a very, very light lift for those that want to use Sass & CoffeeScript, and removes the bloat for those who don't. 😃

@mchelen

This comment has been minimized.

Show comment
Hide comment
@mchelen

mchelen May 21, 2014

Installing therubyracer gem also requires the g++ compiler which users may not otherwise have installed.

mchelen commented May 21, 2014

Installing therubyracer gem also requires the g++ compiler which users may not otherwise have installed.

parkr added some commits May 9, 2014

Decouple CoffeeScript and Sass gems.
Strong coupling requires a huge investment by users in terms of
troubleshooting and other packages (e.g. NodeJS or therubyracer)
Running 'gem install <blah>' isn't a significant cost, especially
given that the user ran 'gem install jekyll' just fine. If this
process is automated, adding in these gems and their dependencies
is easy and can be automated too.

To install either of these gems, run `gem install <gem_name>`
or add them to your site's Gemfile (if exists) by adding
`gem <gem_name>` to your site's Gemfile, then run `bundle install`.

Jekyll shall not be bloatware.
@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jun 1, 2014

Member

This seems like a pretty severe breaking change from 2.0 to 2.1 if you haven't installed the gems before installing Jekyll 2.1. Is this acceptable for a MINOR bump? Is good documentation & a clear release post enough? /cc @envygeeks

Member

parkr commented Jun 1, 2014

This seems like a pretty severe breaking change from 2.0 to 2.1 if you haven't installed the gems before installing Jekyll 2.1. Is this acceptable for a MINOR bump? Is good documentation & a clear release post enough? /cc @envygeeks

@parkr parkr referenced this pull request Jun 1, 2014

Closed

Release Jekyll 2.1.0 #2465

5 of 7 tasks complete
@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks Jun 2, 2014

Contributor

The question is, do you provide this documentation on the Jekyll page, on the Jekyll-(Sass/Coffeescript) page or both? Clear and concise is great but the hardest part is deciding where to place all this information because placing it on the wrong spot is just as bad as not documenting it sometimes.

That said, I think this is an occasion where I would probably deprecate the feature in a minor bump and then remove it in a major bump, add a warning (with a switch to disable it of course) letting them know that the gems will be decoupled come Jekyll v2.* and that they should ensure that they have them added to their Gemfile if they use them and wish them to remain on by default.

Contributor

envygeeks commented Jun 2, 2014

The question is, do you provide this documentation on the Jekyll page, on the Jekyll-(Sass/Coffeescript) page or both? Clear and concise is great but the hardest part is deciding where to place all this information because placing it on the wrong spot is just as bad as not documenting it sometimes.

That said, I think this is an occasion where I would probably deprecate the feature in a minor bump and then remove it in a major bump, add a warning (with a switch to disable it of course) letting them know that the gems will be decoupled come Jekyll v2.* and that they should ensure that they have them added to their Gemfile if they use them and wish them to remain on by default.

@mchelen

This comment has been minimized.

Show comment
Hide comment
@mchelen

mchelen Jun 3, 2014

The question is, do you provide this documentation on the Jekyll page, on the Jekyll-(Sass/Coffeescript) page or both? Clear and concise is great but the hardest part is deciding where to place all this information because placing it on the wrong spot is just as bad as not documenting it sometimes.

The current Jekyll guide will result in a non-functional Jekyll installation, so it seems like the extra step would need to be mentioned there.

mchelen commented Jun 3, 2014

The question is, do you provide this documentation on the Jekyll page, on the Jekyll-(Sass/Coffeescript) page or both? Clear and concise is great but the hardest part is deciding where to place all this information because placing it on the wrong spot is just as bad as not documenting it sometimes.

The current Jekyll guide will result in a non-functional Jekyll installation, so it seems like the extra step would need to be mentioned there.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jul 31, 2014

Member

This will happen automatically in Jekyll 3, you think?

Member

parkr commented Jul 31, 2014

This will happen automatically in Jekyll 3, you think?

@parkr parkr closed this Jul 31, 2014

@parkr parkr deleted the decouple-sass-coffeescript branch Jul 31, 2014

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks Jul 31, 2014

Contributor

It depends on how we handle assets but more than likely I think it will because of the nature of the way Jekyll 3 works. It would just be natural to follow Jekyll's flow in the asset plugin.

Contributor

envygeeks commented Jul 31, 2014

It depends on how we handle assets but more than likely I think it will because of the nature of the way Jekyll 3 works. It would just be natural to follow Jekyll's flow in the asset plugin.

@jekyll jekyll locked and limited conversation to collaborators Feb 27, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.