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 · 82 comments
Open

Support for Jekyll 4.0 #651

janko opened this issue Aug 20, 2019 · 82 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 [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
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-1.0 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

@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

@xepozz
Copy link

xepozz commented Mar 10, 2025

Any updates?

@chicio
Copy link

chicio commented Mar 10, 2025

I suppose GitHub/Microsoft don't have any interest in this (and I can understand why, there are a lot of alternatives in the market)

@wigging
Copy link

wigging commented Mar 10, 2025

I gave up on using Jekyll for GitHub Pages and made my own static site generator.

@TWiStErRob
Copy link

@wigging and others, what is the reason for being against Jekyll in general? As far as I know Jekyll is not affiliated with GitHub/Microsoft (not even sponsoring), GitHub Pages is just using an otherwise popular technology.

I think we need to distinguish between pages-gem abandoning major updates that follow Jekyll (this issue) vs. Jekyll being a good community maintained tool independent of GitHub pages, that happens to be quite easily hosted on GitHub pages just like any other site generator.

@wigging
Copy link

wigging commented Mar 10, 2025

When I first learned about GitHub Pages, I read the page at https://pages.github.com which links to Jekyll for blogging. So that is why I started using Jekyll, because I was interested in blogging with GitHub Pages. As I learned more about Jekyll I began to build the site locally so I could preview it before pushing changes to GitHub. I eventually ran into issues because my local Jekyll would be newer than the supported Jekyll version on GitHub Pages. I started using Jekyll features that were not supported on GitHub Pages. That is why I stopped using Jekyll because I didn't want to downgrade my local version just to make it compatible with GitHub Pages. I also don't like Ruby and I didn't want to maintain a Ruby environment just for Jekyll. Anyway, after all of that, it was easier for me to create my own static site generator instead of using Jekyll or some other third-party solution.

@0xdevalias
Copy link

0xdevalias commented Mar 11, 2025

I think we need to distinguish between pages-gem abandoning major updates that follow Jekyll (this issue) vs. Jekyll being a good community maintained tool independent of GitHub pages, that happens to be quite easily hosted on GitHub pages just like any other site generator.

And probably a 3rd option to add to that nuance, which is the now canonical (since ~2022) GitHub actions based workflow that more or less renders pages-gem irrelevant these days.

I'm honestly confused as to what people are complaining about in this issue these days.. there is ample documentation about how to use the modern version of Jekyll on GitHub pages, and as they stated in their release blog for that feature, there is no one canonical standard version/setup of Jekyll/plugins/etc, so it really doesn't make sense to try and update this legacy gem to support something that no longer exists.

You could go back and read this comment where it was announced in this very thread back in July 2022: #651 (comment)

Or here, where I pointed it out again in March 2023: #651 (comment)

Or this part in October 2023 when what I said was confirmed: #651 (comment)

And seemingly that was enough for most people until ~15 hours ago when we got a bunch of new comments on this issue, which at best guess I imagine mustn't have actually bothered to read any of the past information that would have given them all of the answers they needed.

So.. once again.. here is more information than you should ever need about this issue, and why it's irrelevant to spam it (and everyone who was following it) with comments such as "any updates" or "I abandoned because.." or other similar unhelpful comments:


So.. after having read all of that.. and understanding what the current situation is for Jekyll on GitHub pages.. does anyone have any legitimate concerns to be raised here anymore? Or can we move on from this again now like it seemed we had concluded back in 2023?


Edit: See also, this issue that I just opened to have all references to the legacy github-pages gem removed from the GitHub documentation:

@wigging
Copy link

wigging commented Mar 11, 2025

I support closing this issue. Let's move on.

myronmarston added a commit to block/elasticgraph that referenced this issue Mar 18, 2025
Previously, we relied on the "classic" branch-based site deployment.
However, I've discovered that this is pinned to Jekyll 3.x, and they
have no plans to upgrade it to Jekyll 4.x:

github/pages-gem#651 (comment)

Instead, they recommend switching to a workflow-based deployment, in
which we have full control of the version of Jekyll that is used. This
updates `publish-site.yaml` to be our new deployment workflow.

This provides multiple benefits:

* It ensures that the version of Jekyll we use locally matches what is used
  to deploy the site.
* It should fix an issue I've noticed: the `_index.html` file generated by
  YARD is still a 404 at the deployed site, in spite of it working locally
  after my fixes in #312.
* It gets us off of the legacy deployment approach.
myronmarston added a commit to block/elasticgraph that referenced this issue Mar 18, 2025
Previously, we relied on the "classic" branch-based site deployment.
However, I've discovered that this is pinned to Jekyll 3.x, and they
have no plans to upgrade it to Jekyll 4.x:

github/pages-gem#651 (comment)

Instead, they recommend switching to a workflow-based deployment, in
which we have full control of the version of Jekyll that is used. This
updates `publish-site.yaml` to be our new deployment workflow.

This provides multiple benefits:

* It ensures that the version of Jekyll we use locally matches what is used
  to deploy the site.
* It should fix an issue I've noticed: the `_index.html` file generated by
  YARD is still a 404 at the deployed site, in spite of it working locally
  after my fixes in #312.
* It gets us off of the legacy deployment approach.
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