The Ghost Themes Developer Hub

Welcome to the Ghost Themes developer hub. You'll find comprehensive guides and documentation to help you start working with Ghost Themes as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

FAQ

Troubleshooting tips and how tos

How do I list out all of my pages, tags or authors?

Depending on whether you're looking to create dynamic or static lists, you can use either ajax or the {{get}} helper to fetch extra data in addition to the data which Ghost provides.

I'm making changes to a theme, why aren't they working?

If you're in production mode, all templates are cached and you must restart Ghost for changes to take effect. Use development mode to make it easier to edit your theme.

If you've added a new *.hbs template file to Ghost, you must restart Ghost in any mode as Ghost does not re-scan the directory.

If your changes are in a CSS or JS file, and you're not seeing the changes - you may be missing the {{asset}} helper - see the asset helper documentation for more info.

Can I detect logged in users?

No, blog pages are not aware of a user logged in to the admin panel.

The admin panel that users authenticate with is a client-side ember application which uses Ghost's API. The blog pages are rendered server side and served as static HTML. The two things are not aware of each other, and making them aware of each other would make it difficult to cache blog pages. Ghost is built for performance.

Why do I see Error: Failed to lookup view "index" or "post"?

Check that your theme folder contains a correctly named index.hbs and post.hbs as these are required

Why do I see __aSyNcId_### on my page?

If this is constantly reproducible, it is usually caused by nesting async helpers inside of each other. This isn't currently supported and is a known limitation of the current way that some helpers work.

If you see this temporarily, it may have been caused by a temporary error.

FAQ

Troubleshooting tips and how tos