code4sac / codeforsacramento.org

Pull requests welcome!
http://codeforsacramento.org
MIT License
16 stars 28 forks source link

Move away from using Jekyll #102

Closed natebass closed 1 year ago

natebass commented 1 year ago

Since we are currently redesigning the website, I want to consider moving away from Jekyll to another framework.

Some history

Jekyll is the static site generator, coded in Ruby, that is used by GitHub Pages. When the Code for Sacramento website was created in 2014, Ruby on Rails was more popular and GitHub Pages was kind of new and trendy.

Upsides of Jekyll

Downsides of Jekyll

The Code for Sacramento website has a little more functionality than just static pages. For example, it has a lot of custom styling and works with the GitHub API to dynamically display GitHub projects on the Projects page. I think this could justify using a framework like React.

Possible framework alternatives

Comparision of the popularity between different NodeJS static site generators https://jamstack.org/generators/.

natebass commented 1 year ago

I want to propose using Eleventy (NodeJS). We can keep a similar folder structure for static site generation. This should help preserve the git files and contributor history.

Using NodeJS will make it easier to develop locally. This will be relevant as we make a lot of changes in the near future. We want people to be able to spin up the code on their computer to contribute new pages, new CSS framework, and other UI/UX features.

A point contrasting React, from https://www.11ty.dev/docs/

Eleventy does not require that you use a JavaScript framework—that means zero client-side JavaScript by default across the board. We’re thinking long-term to opt-out of the framework rat race. The tool chain, modules, and components you use in your front end stack are decoupled from this tool. Work from a solid foundation of pre-rendered templates that suit your project’s progressive enhancement baseline requirements.

Any thoughts?

natebass commented 1 year ago

This change has been made by https://github.com/code4sac/codeforsacramento.org/pull/108