How easy is it to customize an existing theme?

Hey all, I want to build a static site for a friend’s project and I was thinking of using Jekyll but trying to decide if it’s the best tool for the job. I have experience with HTML/CSS/Bootstrap and Ruby/Rails so it seems like an obvious choice.

I has wondering how easy it is to customize themes. In general is it quite easy to take a theme and swap out some features or add extra features or functionality? For example, if I want to use a nav bar from one theme, a contact form from another and the general layout of another is it as simple as copy pasting the code and customizing it a little?

Another things that would be really great would be to integrate Jekyll with some kind of CMS so that the user can add and change content quite easily. Is this possible with Jekyll/

Also, if anyone knows of some good resources to learn Jekyll that would be amazing :slight_smile:

Thanks in advance!

I don’t think taking parts from multiple themes would be that easy - they can be built differently and they can be confusing to figure out where the different pieces are. But it probably depends on the theme and how easy you find it to navigate thru the layouts and includes to find what you want. Course that means you need to be able to see the layouts and includes which can be hidden - though it is not hard to find where they are.

If you are familiar with BS and HTML/CSS is it probably easier to build your own - put the main nav in an include, the footer in an include, then put those into your layouts.

There are some CMS’s sort of you can use - though I am not familiar with any of them - search on here and you should find info.

there was a great series of videos on YT that someone did years ago that helped me a lot - likely a little out of date now but the fundamentals are still the same. I made a couple walk thru videos on how I make one of my sites but it is an overview not a tutorial (search jekyll walk thru and you should find them).

Since you are familiar with HTML/CSS, you can take styles of different themes and put them together. Then you have to familiarise yourself with Liquid to swap the features and functions. It is not that hard if you use what’s in the themes and then modify the classes for your CSS.

Check out:

  1. Netlify CMS
  2. DatoCMS

Thanks for the reply :slight_smile:

Am I understanding correctly that there are two ways to use a theme: gem-based and ‘regular’ theme? What’s the difference between the two? And am I able to access all the code so that I can make changes to it?

With a gem-based theme, if I wanted to change the navbar would I be able to simply create new include/sass/assets files that will override the theme, for example?

yes, a theme can just be a repo that you copy and then edit, or a theme can be a gem that you specify in which case many of the actual theme files like layouts and includes and maybe even css/sass are hidden from you. You can expose them with a certain command to see where they are in your file system, you can then copy any that you need to edit into your project and they will overwrite the gem files.

I find the gem based themes confusing/unfriendly so I have never used them.

yes more or less: