Skip to content


Repository files navigation



This is a static blog generator and starter gatsby repo. A port of Casper v3 a theme from Ghost for GatsbyJS using TypeScript.

Getting Started

Clone this repo.

git clone --depth=1

Remove .git folder and setup a new one

rm -rf .git && git init

Edit website-config.ts with your website settings. Either disable subscribe or setup a mailchimp list and add the form action and hidden field input name.

Now push to whatever repo you want!


  • emotion / component styles
  • home page
  • tag page
  • author page
  • blog page
    • subscribe form - using mailchimp
    • full width images in markdown? - not sure if possible
    • multiple post authors
  • 404 page
  • subscribe modal/overlay
  • rss feed (on production build)
  • polish ✨
    • meta tags
    • page titles
    • pagination

Deploy to Netlify

Deploy to Netlify

How to configure Google Analytics

Edit gatsby-config.js and add your tracking ID

    resolve: `gatsby-plugin-google-analytics`,
    options: {
      // Here goes your tracking ID
      trackingId: 'UA-XXXX-Y',
      // Puts tracking script in the head instead of the body
      head: true,
      // IP anonymization for GDPR compliance
      anonymize: true,
      // Disable analytics for users with `Do Not Track` enabled
      respectDNT: true,
      // Avoids sending pageview hits from custom paths
      exclude: ['/preview/**'],
      // Specifies what percentage of users should be tracked
      sampleRate: 100,
      // Determines how often site speed tracking beacons will be sent
      siteSpeedSampleRate: 10,

How to edit your site title and description

Edit gatsby-config.js section siteMetadata

 siteMetadata: {
    title: 'My awesome site name',
    description: 'This is a description for my site',
    siteUrl: '', // full path to blog - no ending slash

How to adjust pagination

In gatsby-node.js, edit the postsPerPage constant. The default value is six posts per page.