Converting jekyll website to a gem based theme

Hi all,

I’m currently working with a client that has a Jekyll website that is used for many different clients in CloudCannon. These projects are copies of the main Jekyll website, where the staff members fill in the _data/settings.yml with custom content (potentially hours of work).

Currently, if a specific client project needs a change, the developer needs to edit that specific project and that specific project alone. But of course, this change does not propagate to all other projects across Cloud Cannon.

The solution is, and correct me if I’m wrong, is to convert the main Jekyll website to a gem based theme. Well, we actually want it on GitHub, but the same concepts apply. Once we get all client projects on the theme, I believe we could then just update the main theme once, commit the change as a new release, and then update any client website to the new theme.

My potential issue is this: the custom _data/settings.yml file will be filled with custom data for a specific client. If I were to update the theme’s settings.yml file with new fields, how would that work when a client website gets updated? Would the custom content get overwritten with the default data found in the theme? How do we address this issue?

I hope this makes sense. Any insight on this issue would be so much appreciated.

Thanks,
Josh