Jekyll: Include default theme as a dependency

Created on 28 Jul 2016  ·  4Comments  ·  Source: jekyll/jekyll

If a new Jekyll user follows the instructions on the homepage of http://jekyllrb.com/, it fails :/

❯  jekyll -v
jekyll 3.2.0

❯ jekyll new website && cd website

New jekyll site installed in /Users/frank/code/website.

❯ jekyll serve
Could not find gem 'minima' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.

From now on you can install gem-based themes but as the default theme shouldn't minima be included to jekyll dependencies?

frozen-due-to-age

Most helpful comment

Chatted with @benbalter and came to a consensus that we should encourage the following flow:

  1. gem install jekyll
  2. jekyll new my-new-site
  3. cd my-new-site
  4. bundle install <--
  5. bundle exec jekyll serve

Bundler is one of the few tools that I use constantly when working with Ruby projects. While it is "just an implementation detail" that Jekyll uses Ruby, Jekyll uses Ruby and should therefore follow its best practices wherever applicable.

We may need to update documentation and/or update the installation message, but we should be promoting bundler everywhere for the Greatest Good of Our People.

All 4 comments

Ran into this via https://travis-ci.org/github/pages-gem/jobs/148042719#L320 when bumping the Pages Gem as well. I'd be in favor of including this (and only this) theme as a dependency, because adding it to the resulting site's Gemfile and then asking the user to run bundle a second time feels like a lot of work for your first site, especially since the dependency is small. Also to note, I'd suggest it be a very loose dependency, so we can bump Minima without needing to bump Jekyll.

@DirtyF assuming others agree, any interest in starting a quick PR to add it to the Gemspec?

@benbalter done, I simply expect a minor version bump from default theme when https://github.com/jekyll/minima/pull/6 gets merged.

Chatted with @benbalter and came to a consensus that we should encourage the following flow:

  1. gem install jekyll
  2. jekyll new my-new-site
  3. cd my-new-site
  4. bundle install <--
  5. bundle exec jekyll serve

Bundler is one of the few tools that I use constantly when working with Ruby projects. While it is "just an implementation detail" that Jekyll uses Ruby, Jekyll uses Ruby and should therefore follow its best practices wherever applicable.

We may need to update documentation and/or update the installation message, but we should be promoting bundler everywhere for the Greatest Good of Our People.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

PJOssenbruggen picture PJOssenbruggen  ·  3Comments

mgiuffrida picture mgiuffrida  ·  4Comments

weilinzung picture weilinzung  ·  3Comments

JohnStarich picture JohnStarich  ·  4Comments

jekyllbot picture jekyllbot  ·  3Comments