Starter theme does not appear in selectable themes


I’m new to the Ghost CMS platform and to Ghost theming, so please apologise for any misunderstandings.

I’ve been trying to create a theme and so I have cloned the starter ghost theme from GitHub - TryGhost/Starter: A development starter theme for Ghost. I also have a working local installation of Ghost on my computer.

I have followed the README summary for setup, that is:

  • I’ve downloaded the starter theme repo and installed dependencies.
  • I’ve symlinked the theme directory to /ghost_dir/content/themes/starter.

However, the theme does not appear in the ghost theme selector.

I’ve restarted the ghost server completely multiple times.

Zipping the theme & uploading manually does work in updating the website, but Live Reload does not work and the same process has to be repeated to get the changes to take effect, despite rollup live reload (yarn dev) being on.

Did anyone have the same issue or has any suggestions for me to continue?

My ideal scenario is an environment where I edit the theme code (hbs or css code) and the website updates after a page reload.

Thanks :)

~~ Note: since I’m considered a new member here I can not embed more than 1 image - please ask for any further screenshots and imagery if need be.

Edit: The theme is unmodified.

Can you show what’s inside the ‘theme’ folder? I’m wondering if you’re missing a config file or something that’s causing Ghost not to recognize it, or you put the zipped theme in the folder or something. It might also be worth checking access permissions, if this is linux.

I can confirm that symlinking on WSL at least works great.

Here is the theme folder:

The theme, when zipped, works, but I do not want to re-zip it each time to see how it looks.
That alone removes the possibility of it being incompatible.

I’m on Windows pure, not WSL and not Linux.

GScan succeeds.

It might be important to note that when I have rollup watcher open, it only recompiles when assets/js/index.js is changed - as per the config:

// Rollup configuration
export default defineConfig({
    input: 'assets/js/index.js',
    // ...

I don’t know if this is intended.


Ok, update.

I removed the symlink and put the theme directly in and now it works.

I know it’s not semantically good, but as long as it works, I couldn’t care less.

Thanks for your help and sorry for the issue.

It’s possible that windows shortcuts don’t work quite like symlinks.

Glad you were able to solve it! Just be careful not to load a zip file with the same name through the theme upload - it’ll overwrite. :slight_smile:

You’ll probably need to restart ghost if you add a new hbs file.

1 Like