pages-gem icon indicating copy to clipboard operation
pages-gem copied to clipboard

Support for Jekyll 4.0

Open janko opened this issue 4 years ago • 75 comments

Jekyll 4.0.0 is out, and brings lots of nice improvements. It would be really nice if github-pages gem would add support for Jekyll 4.

janko avatar Aug 20 '19 21:08 janko

Noteworthy is the upgrade of jekyl-sass-converter to version 2. They switched from Ruby Sass to csass, as the former has reached end-of-life:

Post-install message from sass:

Ruby Sass has reached end-of-life and should no longer be used.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  https://sass-lang.com/blog/posts/7828841

fsimonis avatar Aug 21 '19 14:08 fsimonis

Can we get an update on this?

polyrain avatar Sep 24 '19 00:09 polyrain

I am also awaiting Jekyll v4.0 support for Github Pages. I need to use the "manually order documents" feature for collections but it is only available in v4.0. https://jekyllrb.com/docs/collections/#manually-ordering-documents

wigging avatar Oct 13 '19 15:10 wigging

I'd recommend using GitHub Actions to build your site and publish it on GitHub Pages: https://github.com/BryanSchuetz/jekyll-deploy-gh-pages

DirtyF avatar Oct 13 '19 18:10 DirtyF

I didn't have any dependency on Jekyll 4.0 except for better SCSS compile performance (due to sassc), but I ditched GitHub Pages in favour of Netlify as it can even install 3rd-party Jekyll plugins which aren't supported by GitHub, and you get all the features that GitHub Pages provides + a few extra for free!

kushalpandya avatar Oct 14 '19 06:10 kushalpandya

Please note that Netlify recently limited their free plan to 300min build per month, aka 10min per day.

DirtyF avatar Oct 14 '19 09:10 DirtyF

In the past, how long did it take for GitHub Pages to update to the latest version of Jekyll? Or is GitHub Pages always on an old Jekyll version?

wigging avatar Oct 14 '19 13:10 wigging

Please note that Netlify recently limited their free plan to 300min build per month, aka 10min per day.

I think 10 min per day is sufficient for most users who are using GitHub Pages where they don't update their site as often each day. In my case, I have a moderately complex site with 50+ documents and a handful of 3rd party jekyll plugins and yet the site builds gets published under 40 seconds on Netlify. So hitting that 10 minute limit for the day would be distant. 😅

In the past, how long did it take for GitHub Pages to update to the latest version of Jekyll? Or is GitHub Pages always on an old Jekyll version?

I think upgrade to 4.0 is going to take some time as it being a major upgrade with 1 breaking change around how post_url behaves as GitHub wouldn't want a lot of broken static sites with such an upgrade. Not to mention that many repos which use GH Pages don't have Gemfile present (myself included when I used Jekyll for the first time to build my portfolio) which is going to affect them with upgrade.

kushalpandya avatar Oct 14 '19 13:10 kushalpandya

what is the progress for this? Is there support for Jekyll 4?

brando90 avatar Oct 28 '19 20:10 brando90

As a new user to Jekyll, i am unsure how to post to github pages without the 4.0 support. Would anyone have any suggestions on which previous version i should be using? My bundler says

 github-pages was resolved to 4, which depends on
      jekyll (= 1.1.2)

which doesnt seem right. Regardless, I've given that a try by lowering [email protected] which is when I ran into issues with jekyll-feed not being supported at [email protected]. So I removed that and got

An error occurred while installing yajl-ruby (1.1.0), and Bundler cannot continue.
Make sure that `gem install yajl-ruby -v '1.1.0' --source 'https://rubygems.org/'` succeeds before bundling.

Ugh... It would be nice to use [email protected] but for the time being, which version should I use? Is there a branch that supports [email protected]?

kimchirichie avatar Nov 20 '19 07:11 kimchirichie

after a bit of hair pulling, I ACTUALLY read the comments in the Gemfile and commented out the gem jekyll and uncommented github-pages as instructed. hopefully someone finds my findings useful down the road.

# gem "jekyll", "~> 4.0.0"
group :jekyll_plugins do
  gem "jekyll-feed", "~> 0.11"
  gem "github-pages", "202"
end

P.S. jekyll-feed needs to be downgraded from v0.12 to v0.11 and github-pages needs to be told v202

kimchirichie avatar Nov 20 '19 08:11 kimchirichie

Jekyll 4 has added support for binary operators within where_exp, and I would like to use this feature. Can we please get a release of github-pages that works with Jekyll 4 pls?

BTW @kimchirichie thanks for this comment - that works out on localhost, but unfortunately not on our particular CI/CD setup - so still need a new release of this page.

EDIT: Quite a few people asking for it here plus a whole bunch of related questions on Stackoverflow.

bguiz avatar Dec 18 '19 01:12 bguiz

Not sure if this is any help but I suspect one could do a jekyll 4 build in a github action now. Seems plausible enough to look into whether someone's already done it, in fact. Been trying to make time to give it a shot myself.

hoff2-ACN avatar Dec 18 '19 14:12 hoff2-ACN

@hoff2-ACN I have built a Theme using Github Pages and Github Actions with the latest Bundler and Jekyll 4.0.0 out of the box, soon will be sharing the tutorial which can be used to deploy your Blog using Jekyll 4 !! 👍 Here it is 🍡 - Deploy Jeyll Blog using Github Actions with Jekyll 4

sujaykundu777 avatar Jan 18 '20 09:01 sujaykundu777

@sujaykundu777 fantastic! thank you so much!

hoff2-ACN avatar Jan 20 '20 14:01 hoff2-ACN

So, with people either going to GitHub Actions or to Netlify, are we to assume that GitHub no longer cares about the traditional write/commit/push-and-publish workflow? This issue has been open well over five months, and four since a committer to this repo (@dirtyf) left a comment.

There are clearly a number of people waiting/hoping that one of the very few who are familiar with the codebase (if I'm reading this chart right, about 3 people) can either perform the (apparently non-trivial) updates needed to close this issue or open a PR with enough information for one or more of us tyros to get started.

Are we waiting for Godot?

jdickey avatar Feb 01 '20 17:02 jdickey

Disclaimer: I don't work for GitHub, nor am a maintainer for this gem.

The update is indeed non-trivial, as there are breaking changes and some impacting issues were raised since Jekyll 4.0 was released, due to the new cache API, so it's safer for GitHub not to upgrade to Jekyll 4.0 for now, as they don't want to break existing websites.

As this was already mentioned before, GitHub Actions are the way to go if you want to use a custom Jekyll or plugins at your own risk.

I don't have proper rights on this repository, but this issue should be closed for now, as it won't happen anytime soon, no need to give people false hopes. GitHub should come with a proper documentation on how to run Jekyll on GitHub Pages with GitHub Actions.

DirtyF avatar Feb 01 '20 21:02 DirtyF

Sorry, @DirtyF, I misunderstood your relationship to the project (and possibly GitHub) from the quality of the comments you'd left earlier.

Actions sans this Gem sound like The Way Forward for those of us who'd like to take advantage of Jekyll 4 (and future versions). Thanks again.

jdickey avatar Feb 03 '20 16:02 jdickey

On a side note; remote-theme plugin is now supoprting Jekyll 4.0 : https://github.com/benbalter/jekyll-remote-theme/releases/tag/v0.4.2

DirtyF avatar Feb 03 '20 19:02 DirtyF

Any update on the support of Jekyll 4?

jasongaylord avatar May 06 '20 02:05 jasongaylord

For reference you can checkout this theme on how to use jekyll 4 until pages-gem supports it (uses github action): devlopr-jekyll 🍡

sujaykundu777 avatar May 07 '20 19:05 sujaykundu777

For reference you can checkout this theme which uses Jekyll 4.0 : devlopr-jekyll 🍡

And how does this theme support version 4 on GitHub Pages? The GitHub Pages Gem only supports 3.8.

jasongaylord avatar May 07 '20 20:05 jasongaylord

Jekyll team released a guide on how to use Jekyll 4 and custom plugins on GitHub Pages with GitHub Actions: https://jekyllrb.com/docs/continuous-integration/github-actions/

DirtyF avatar May 13 '20 15:05 DirtyF

For reference you can checkout this theme which uses Jekyll 4.0 : devlopr-jekyll 🍡

And how does this theme support version 4 on GitHub Pages? The GitHub Pages Gem only supports 3.8.

It uses GitHub Action for using Jekyll 4 to build and deploy your site automatically to gh-pages branch.

sujaykundu777 avatar May 13 '20 15:05 sujaykundu777

Thanks @DirtyF. That's helpful. I did not know they had a supported method.

It would still be nice if GitHub updated their gem to support it.

jasongaylord avatar May 14 '20 13:05 jasongaylord

Jekyll 3.9.0 and lower contains the high severity vulnerability CVE-2020-14001. It's not present in Jekyll 4.0.0 or higher. This alone makes it unadvisable to use this gem if you care about the security of your project; it's not simply a nicety.

Please provide an update on when this will be addressed

blakegearin avatar Aug 17 '20 15:08 blakegearin

@blakegearin Jekyll 3.9.0 doesn't contain the said vulnerability. It is flexible enough to allow users upgrade on their discretion. Users just need to run gem update kramdown or bundle update kramdown.

ashmaroli avatar Aug 17 '20 17:08 ashmaroli

@ashmaroli Thanks, I wasn't aware of that! For reference I was able to do that successfully and confirm the vulnerability wasn't present 🙂

blakegearin avatar Aug 18 '20 16:08 blakegearin

Still waiting on GitHub Pages to support Jekyll 4 which is currently sitting at version 4.1.1

wigging avatar Sep 18 '20 12:09 wigging

Jekyll 4.0 has breaking changes and that would break millions of Jekyll sites on Github, so either stick with 3.9.0 or use GitHub Actions to deploy the latest Jekyll 4.x on GitHub Pages

DirtyF avatar Sep 18 '20 12:09 DirtyF