rubyrubygemsjekyll

Authoring Jekyll theme: should `tzinfo` gem be included in Gemfile or gemspec?


I'm the author of a Jekyll theme (Beautiful Jekyll) that can be installed either as a Ruby gem or as a GitHub Pages theme

I recently found out that Jekyll can be run on Windows. From the documentation, it says that tzinfo and tzinfo-data gems need to be included in the Gemfile on Windows.

My question is: since my theme will not only be used by me, should these gems be added to the gemspec instead of the Gemfile? I want to ensure that anyone who installs my theme on Windows will be able to use it.


Solution

  • The issue came from the fact that on Windows the tzinfo and tzinfo-data gems are needed, and the official Jekyll docs say to add a few lines to the Gemfile for that. My question was whether, as a theme author, I need to also update the gemspec to allow for Windows users to use my theme.

    The answer is NO.

    Only the Gemfile needs to be modified. This is because the issue only arrises if someone directly clones the git repository for my theme and tries to run it on Windows. The Gemfile needs to be updated so that the timezone gems will be included in that case. However, for anyone who installs the theme by calling jekyll new and then using the gem, this is not needed because jekyll new automatically adds these gems to the Gemfile. This has been the case for several years, as can be seen here