import { CreatePagesArgs } from "gatsby"; interface CategoriesQueryResult { allMarkdownRemark: { group: Array<{ fieldValue: string; totalCount: number; }>; }; } const categoriesQuery = async (graphql: CreatePagesArgs["graphql"]) => { const result = await graphql(` { allMarkdownRemark( filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } } sort: { order: DESC, fields: [frontmatter___date] } ) { group(field: frontmatter___category) { fieldValue totalCount } } } `); return result?.data?.allMarkdownRemark?.group ?? []; }; export default categoriesQuery;