worldbank / sdg-metadata

SDG Metadata Translation Pilot
https://worldbank.github.io/sdg-metadata/
MIT License
8 stars 7 forks source link

Consider switching to GatsbyJS #27

Closed brockfanning closed 3 years ago

brockfanning commented 4 years ago

Although Jekyll (and the Minimal Mistakes theme) is working great, we may want to consider switching to GatsbyJS for the sole reason of making everything run with Node.js. As we try to make this project more re-usable, it would make users' lives easier if they only have to install Node.js, instead of Node.js and Ruby. It would also remove an extra language that developers who want to customize the code would need to learn.

JenPark9 commented 4 years ago

What would be the estimated lift in time and effort to make the switch? Would existing translations and files be affected?

On Mon, Mar 30, 2020, 10:24 AM brockfanning notifications@github.com wrote:

Although Jekyll (and the Minimal Mistakes theme) is working great, we may want to consider switching to GatsbyJS for the sole reason of making everything run with Node.js. As we try to make this project more re-usable, it would make users' lives easier if they only have to install Node.js, instead of Node.js and Ruby. It would also remove an extra language that developers who want to customize the code would need to learn.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OpenDataEnterprise/sdg-metadata/issues/27, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE5WZKWHUILBDVL5D4D7TILRKCTSDANCNFSM4LWUDSVQ .

brockfanning commented 4 years ago

A bit of background: Right now we're using the static-site generator Jekyll, which requires the programming language Ruby. In order to make our site look nice, we're using the Jekyll theme Minimal Mistakes.

If we wanted to remove the Ruby requirement, we could switch to a static-site generator which runs on Node.js (which is the programming language that the rest of this project is written in, such as the automated imports, PDF generation, etc.). The most popular such static-site generator is called GatsbyJS.

As for estimates for the various tasks - I would break it down something like this:

  1. Implementing a basic site with Gatsby: between 10-15 hours
  2. Making it look nice - for this part, there are two options:
    1. Switching to a ready-made GatsbyJS theme (here is a gallery of GatsbyJS themes). This would mean that the look-and-feel of the website would change, but would be very easy. About 4-6 hours.
    2. Writing custom styling to replicate what we have with Jekyll's "Minimal Mistakes" theme. This would mean that the site will keep the look-and-feel that we're accustomed to, but it would take a lot longer. Probably another 10-15 hours.

Either way, nothing would need to change in regards to the navigation of the site, the API endpoints, or the translations themselves.

brockfanning commented 3 years ago

With limited funding there are a lot of other tasks that are more important than this one. And since I opened this, I'll go ahead and close.