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

Support for Jekyll 4.0 #651

Open
janko opened this issue Aug 20, 2019 · 75 comments
Open

Support for Jekyll 4.0 #651

janko opened this issue Aug 20, 2019 · 75 comments

Comments

@janko
Copy link
Contributor

janko commented Aug 20, 2019

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.

@fsimonis
Copy link

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

@polyrain
Copy link

Can we get an update on this?

@wigging
Copy link

wigging commented Oct 13, 2019

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

@DirtyF
Copy link
Contributor

DirtyF commented Oct 13, 2019

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

@kushalpandya
Copy link

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!

@DirtyF
Copy link
Contributor

DirtyF commented Oct 14, 2019

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

@wigging
Copy link

wigging commented Oct 14, 2019

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?

@kushalpandya
Copy link

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.

monsteronfire added a commit to RapidRiverSoftware/rapidriversoftware.github.io that referenced this issue Oct 16, 2019
* Will be updated for github-pages when Jekyll version is bumped up to 4
* github/pages-gem#651
monsteronfire added a commit to RapidRiverSoftware/rapidriversoftware.github.io that referenced this issue Oct 16, 2019
monsteronfire added a commit to RapidRiverSoftware/rapidriversoftware.github.io that referenced this issue Oct 17, 2019
@brando90
Copy link

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

calumhalcrow pushed a commit to RapidRiverSoftware/rapidriversoftware.github.io that referenced this issue Nov 4, 2019
@kimchirichie
Copy link

kimchirichie commented Nov 20, 2019

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 jekyll@v1.1.2 which is when I ran into issues with jekyll-feed not being supported at jekyll@v1.1.2. 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 jekyll@v4.0 but for the time being, which version should I use? Is there a branch that supports jekyll@v4.0?

@kimchirichie
Copy link

kimchirichie commented Nov 20, 2019

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

@bguiz
Copy link

bguiz commented Dec 18, 2019

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 added a commit to rsksmart/devportal that referenced this issue Dec 18, 2019
… their titles

- NOTE the jekyll `where_exp` filter does not support `and` in 3.8.5
  - support has been added in 4.0.0, but cannot upgrade due to `github-pages` gem dependecny
  - see jekyll/jekyll#6998
  - see github/pages-gem#651 (comment)
@hoff2-ACN
Copy link

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.

@sujaykundu777
Copy link

sujaykundu777 commented Jan 18, 2020

@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

@hoff2-ACN
Copy link

@sujaykundu777 fantastic! thank you so much!

@jdickey
Copy link

jdickey commented Feb 1, 2020

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?

@DirtyF
Copy link
Contributor

DirtyF commented Feb 1, 2020

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.

@jdickey
Copy link

jdickey commented Feb 3, 2020

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.

@DirtyF
Copy link
Contributor

DirtyF commented Feb 3, 2020

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

@yoannchaudet
Copy link
Contributor

No there is no immediate plants to add Jekyll 4 to this gem. Doing so would require some extensive work in the gem or on the GitHub side to ensure we don't break the millions of Pages sites we build (or have built) with Jekyll 3 up until today.

@soundasleep
Copy link

No there is no immediate plants to add Jekyll 4 to this gem. Doing so would require some extensive work in the gem or on the GitHub side to ensure we don't break the millions of Pages sites we build (or have built) with Jekyll 3 up until today.

Would it be possible to opt-in to Jekyll 4, perhaps? Creating a .jekyll-version file with 4.0 in the root?

soundasleep added a commit to soundasleep/stormcloak.games that referenced this issue Jan 6, 2023
This workaround (having to manually specify a `year:` for all entries)
is necessary until GitHub Pages updates to Jekyll 4.0+:
github/pages-gem#651
timwis added a commit to timwis/jkan that referenced this issue Jan 15, 2023
Jekyll uses webrick in development mode, and expects it to ship with Ruby. But Ruby 3.0 stopped bundling webrick, which causes an error when you run `jekyll serve` using ruby 3.x.
Jekyll 4.3.0—released Oct 2022—adds webrick as a dependency, but GitHub Pages still uses Jekyll 3.9.2 and [has no immediate plans](github/pages-gem#651 (comment)) to upgrade to Jekyll 4. Adding webrick to our Gemfile (per [this thread](jekyll/jekyll#8523)) solves this problem in the meantime.
@fenixnet-net
Copy link

3.5 years later....

@wigging
Copy link

wigging commented Mar 13, 2023

I gave up using Jekyll for GitHub Pages since GitHub refuses to support the latest Jekyll version. So I made my own static site generator called genja (https://github.com/wigging/genja). It is a small Python package that you can run from the terminal. Thought I would share it here in case others want to use it. Good luck to everyone else who still uses Jekyll. I'm moving on. Bye 👋

@jlosito
Copy link

jlosito commented Mar 13, 2023

@fenixnet-net @wigging everyone is able to build Jekyll sites that aren't stuck using GitHub's gem anymore using the action workflow linked below.

https://github.com/actions/starter-workflows/blob/main/pages/jekyll-gh-pages.yml

@wigging
Copy link

wigging commented Mar 13, 2023

@jlosito Yes I know. I don't want to setup a GitHub Action just to build a website.

@limansky
Copy link

@wigging how does your static generator solve deployment problem? Do you mean it will not require to setup CI to publish static pages?

@wigging
Copy link

wigging commented Mar 13, 2023

@limansky Yes, I just build the site locally (on my laptop) and push up the files to the docs folder in the repository. I do a lot of Python programming so using a Python tool is much easier and convenient for me. Since genja is a Python package, I could setup a GitHub Action (CI) to build the site, but it's easier for me to do all that locally. I can also preview the site locally before pushing up the changes. I could do all these things with Jekyll but I had to use an older version of Jekyll for GitHub Pages. Also, I don't do anything in Ruby so it didn't make sense to setup Ruby just to make a Jekyll website.

@fenixnet-net
Copy link

@jlosito As @wigging points out, one shouldn't have to set up an entire custom workaround just to use a service github allegedly provides.

Jeckyll 4 came out 3.5 years ago. If github was interested in keeping Pages relevant they'd have long since at least published a timeline for implementing the upgrade. To my eyes it looks like this feature is now going to be left to die on the vine, as it were. It's reminiscent of Google Voice - yeah, it's still working, but it's at this point a zombie on a treadmill, shambling forward without going anywhere.

@0xdevalias
Copy link

I could do all these things with Jekyll but I had to use an older version of Jekyll for GitHub Pages.

@wigging Not really, you could use any local version of jekyll you wanted in the same 'build locally then deploy' method that you're now using for your home-grown tool. You just needed to add a .nojekyll file when uploading your assets:


If github was interested in keeping Pages relevant they'd have long since at least published a timeline for implementing the upgrade

@fenixnet-net They basically have, the modern supported method is 'use the GitHub action'; I suspect they will eventually convert the current legacy system to just be some syntactic sugar on top of GitHub actions, or remove it completely.

@TWiStErRob
Copy link

I suspect they will eventually convert the current legacy system to just be some syntactic sugar on top of GitHub actions - @0xdevalias comment

I think they already did it!

image
image
image

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

No branches or pull requests