Creating a custom Ghost theme

Ghost themes

Ghost comes with a default theme called Casper, designed to be a clean, readable publication layout and can be easily adapted for most purposes.

If you need something a little more customized, it's entirely possible to build on top of existing open-source themes or build your own from scratch. Rather than giving you a few basic settings which act as a poor proxy for code, Ghost just let you write code.

By the way, we are using customized version the default Casper theme.

Marketplace

There is a huge range of both free and premium pre-built themes, which you can download from the Ghost Theme Marketplace:

Anyone can write a completely custom Ghost theme with some solid knowledge of HTML and CSS.

Theme development

Ghost themes use a templating language called handlebars, which has a set of dynamic helpers to insert your data into template files. For example: {{author.name}} outputs the name of the current author.

The best way to learn how to write your Ghost theme is to look at Casper's source code, which is heavily commented on and should give you a sense of how everything fits together.

  • default.hbs is the main template file. All contexts will load inside this file unless specifically told to use a different template.
  • post.hbs is the file used in the context of viewing a post.
  • index.hbs is the file used in the context of viewing the home page.
  • and so on...

Ghost has full and extensive theme documentation that outlines every template file, context, and helper you can use. You can also get started with Ghost's great starter theme, which includes the most common foundations and components required to build your theme.

If you want to chat with other people making Ghost themes to get any advice or help, there's also a themes section on the public Ghost forum.