Skip to content


Repository files navigation


A Ghost-like 👻 WordPress theme

WordPress License: GPL v2

Casper (for WordPress) is a simple yet beautiful theme for bloggers.

Inspired by the Ghost blogging platform, Casper is a WordPress port of the default theme by the same name. The goal of this project is to emulate the gorgeous theme while taking advantage of features exclusive to the WordPress framework.


  • Search feature 🔦
  • Comments section 🙊
  • Customizer integration 🌈
  • Social icons pre-included 🐾
  • Responsive site and images 🐛


Table of Contents


Download the zip package of the theme and install either automatically through the WordPress Dashboard > Appearance tab, or by uploading the casper folder to your WordPress/wp-content/themes directory.

The style.css file in the theme directory is minified. A human-readable version of is located at css/style.css.

Editing Casper

The recommended way to edit the Casper theme is to use the Casper child theme. This will ensure that none of your changes will be lost when you update Casper. Install and activate the child theme and make changes as you would normally. Any file included in the theme will override a Casper theme file (exceptions being functions.php and style.css).

If you want to make changes to the core theme, or want to contribute, read below on how to build the package.

Building Casper

Casper is open-source and simple to develop and extend.

Using Grunt to build the package

# Clone and install dependencies

$ git clone
$ cd casper
$ npm install -g grunt-cli
$ npm install

# Build the distribution

$ grunt

or grunt watch to continuously build.

Grunt Tasks
  • Compile src/css/style.less and other LESS and CSS files in src/css/
  • Any CSS is combed, linted, prefixed, then compiled with css/style.css
  • css/style.css is minified into style.css
  • Images in src/img/ are compressed and copied to img
  • Theme JavaScript and other js files in src/js/ are linted, minified, and combined into js/main.js
i18n (internationalization)

To generate a .pot language file you must have xgettext installed. On OSX using homebrew run brew install gettext && brew link gettext --force to install. Run grunt i18n to generate language files.

Getting Involved

Want to report a bug, request a feature, or help me build this project? The more the merrier! 🐞

Many thanks to the Ghost & WordPress teams, as well as the Underscores _s contributers, and kvendrik. ☄️

Built using all of the above. ⛄️

🏎 Roadmap

  • Update Casper WP to match the updated Ghost version - Casper 2!
  • Implement an update mechanism to pull changes from the Ghost project to keep the development in sync


GPL v2.0 © Lacy Morrow

All assets licensed under a GPL-compatible license.