Skip to content


This adds a blogging interface using MDX, similar to gatsby-theme-blog-core with some custom modifications. The theme can be added to any existing Catalyst-based site and will add blog functionality. This is a minimal implementation that is not designed to be used in a production site, but rather as a jumping off point for a production site.

The main features added to this blog theme are:

  • Support for a featured image on the blog posts
  • Support for a social image on the blog posts
  • Support for RSS feed
  • Support for categories and tags
  • Support for different post types in the frontmatter to allow for conditional styling of posts
  • Drafts flag in frontmatter so you can keep posts in your repo that are drafts and not built in the final site
  • Ability to control the excerpt length used in post summaries
  • Drafts
  • Reading time support


  • gatsby-starter-catalyst-blog

Catalyzing Start

gatsby new catalyst-blog

Theme options

contentPathStringDefaults to “content/posts”, determines where the posts are created from.
assetPathStringDefaults to “content/assets”, determines where the post assets like images are located.
basePathStringDefaults to “/blog”, determines the page location for the post list.
excerptLengthStringDefaults to “140”, determines the length of the excerpt use for post summaries.
postListTitleStringDefaults to “Posts”, allows you to control the title of your post page, e.g. “Blog” or “Writing” or “Digital Garden”
displayPostListTitleBooleanDefaults to true, allows you to remove the visual title of your post page but keep it in the page title in the browser.
rssTitleStringDefaults to “RSS Feed”, allows you to customize the title of the RSS feed.
rssDescriptionStringDefaults to “A great RSS feed”, set the RSS description for your feed.

Example Config:

resolve: `gatsby-theme-catalyst-blog`,
options: {
basePath: `/`,
contentPath: `src/content/posts`,
assetPath: `src/content/post-images`,
excerptLength: `280`,

Frontmatter Fields

The following fields are available in front matter.

titleYesStringTitle of the post
dateYesDatePublication date, e.g. 2019-04-15
subTitleNoStringSub title or deck for blog posts
authorNoStringAuthor of the post
featuredImageNoStringFeatured image to be used for the post
featuredImageCaptionNoStringCaption for the featured image
socialImageNoStringSocial image to be used for the post
slugNoStringOptionally used to specify the link slug for the post
authorLinkNoStringUsed as a link for the author name in the post summaries
tagsNoArrayTags for the post, [“tag1”, “tag2”, “tag3”]
categoriesNoArrayCategories for the post, [“cats”, “dogs”, “snakes”]
keywordsNoArrayKeywords used for Seo, [“key1”, “key2”, “key3”]
publishedNoBooleanDefaults to false, set to true to publish a post.
draftNoBooleanDefaults to false, if set to true a post will not publish, not required. Posts do not require this, if published is missing or set to false this has the same effect.

Example frontmatter:

title: Hey, a draft post
date: 2019-04-15
featuredImage: ../assets/featured1.jpg
socialImage: ../assets/post1-social.jpg
author: Eric Howey
tags: [Wicked, Awesome, Radical]
slug: /blog/custom-post-slug
published: true

© 2021 Gatsby Theme Catalyst