Frontmatter
1 minute read
Gatsby Theme Golden Condor has some special frontmatter parameters that are used to configure layouts for pages and collection home pages.
Frontmatter types
Here's a non-exhaustive list of the frontmatter types the theme defines
type MdxFrontmatter {
id: String
parent: String
recentPosts: RecentPosts
hideTOC: Boolean
subTitle: String
author: String
tags: [String]
category: Category
excerpt: String
image: File @fileByRelativePath
embeddedImages: [File] @fileByRelativePath
}
type Category {
name: String
slug: String
}
type RecentPosts {
heading: String
layout: String
columns: String
container: String
showExcerpt: Boolean
showImage: Boolean
meta: Boolean
}
type MdxFrontmatter {
id: String
parent: String
recentPosts: RecentPosts
hideTOC: Boolean
subTitle: String
author: String
tags: [String]
category: Category
excerpt: String
image: File @fileByRelativePath
embeddedImages: [File] @fileByRelativePath
}
type Category {
name: String
slug: String
}
type RecentPosts {
heading: String
layout: String
columns: String
container: String
showExcerpt: Boolean
showImage: Boolean
meta: Boolean
}
Collection Indexes
when you create an index.md
or index.mdx
file directly inside a collection's content folder, that becomes the 'index' or home page (e.g what is displayed under the path /docs/
for the doc
collection).
The site home page content / layout is in content/pages/index.md
.
Here's the content/docs/index.mdx
file for this site:
---
# this is the /docs/ index page
title: Golden Condor Docs
date: 2021-12-27
excerpt: Golden Condor is a gatsby theme with posts and pages in mdx. It can be used for blogs or documentation. #SEO description
# remove this to not show recent posts
recentPosts:
heading: Documentation
layout: "list"
columns: "1"
showImage: false
meta: false
showExcerpt: true
container: "post"
---
---
# this is the /docs/ index page
title: Golden Condor Docs
date: 2021-12-27
excerpt: Golden Condor is a gatsby theme with posts and pages in mdx. It can be used for blogs or documentation. #SEO description
# remove this to not show recent posts
recentPosts:
heading: Documentation
layout: "list"
columns: "1"
showImage: false
meta: false
showExcerpt: true
container: "post"
---
Notably the recentPosts
object is used to configure how the list of posts looks for this collection.
The options are as follows:
Option | Type | Description | Default |
---|---|---|---|
heading | string | Sets the heading above the | Latest ${collectionName}s |
layout | string | Whether the post is a horizontal list type or a vertically stacked card type - either "list" or "card" | "card" |
columns | string | The number of grid columns of posts to display. This is passed to theme-ui so a responsive value (in quotes e.g "[1,2]") also works | "[1,2,3]" |
showImage | boolean | Wether to show the image or not | true |
meta | boolean | shows or hides the 'meta' info on the post item (date, category, collection name) | true |
showExcerpt | boolean | shows the frontmatter.excerpt under the title | false |
container | string | the theme-ui container variant to use to wrap the receont posts - the theme uses "post", "article", "container" but they are definable in your theme | "container" |