Building Custom Theme

Hi everyone! I’m so thrilled to have found Ghost and I’m excited to get started. Anyway, I’ve been working on building a theme and I’ve run into a roadblock. Each time I make changes to the theme locally and re-load the homepage locally, the website and theme aren’t updated. Am I missing something. I hope I don’t have to gulp or zip everything up and re-upload each time I update the css or the theme files. I’m running Ghost locally on my Mac via Mamp. Thanks so much in advance.

Scott

Hey @Scottemilesimon :wave:
There’s no need to run MAMP with Ghost, it can be all done with the Ghost CLI. Check out our local development docs here, as well as out local theme development guide:

We also have a guide here on how you might typically use Gulp to build assets in your theme. Gulp isn’t a requirement, but it helps with CSS and JavaScript minification:
https://ghost.org/tutorials/how-to-use-gulp-in-a-ghost-theme/

Hope this helps! :blush:

you have to get used to the dynamically evolving javascript ecosystem.
All the themes out there use some taskrunner that compiles resources like sass files and javascript. Once you’re installed node, npm, grunt, gulp etc you can run into problems with version numbers and/or global/local install. I suggest to install exactly the suggested versions. That did the trick for me

So there’s basically no way to edit the theme files locally to have them updated automatically without Gulp-ing them each time the files are edited and saved?

you run you’re taskrunner once and the stuff is done in background them. They meant it good! But yes, unfortunately as for the standard themes you have to do this npm/gulp/grunt/autofix which is extremely resource hungry and can occasionally lead to version hell. I haven’t find a way to do it painfree withh only editing some html,hbs/css files or have the boilerplate be done in one command. The javascript ecosystem setup and maintainance had to be done and takes some time. As a benefit you get a command that builds you an installable zip file