diff --git a/packages/@contentlayer/source-files/src/fetchData/mapping/field-mdx.ts b/packages/@contentlayer/source-files/src/fetchData/mapping/field-mdx.ts index 7d1546b0..78b12a2f 100644 --- a/packages/@contentlayer/source-files/src/fetchData/mapping/field-mdx.ts +++ b/packages/@contentlayer/source-files/src/fetchData/mapping/field-mdx.ts @@ -9,21 +9,21 @@ import { getFromDocumentContext } from '../DocumentContext.js' export const makeMdxField = ({ mdxString, - fieldDef, options, contentDirPath, + isDocumentBodyField, }: { mdxString: string - fieldDef: core.FieldDef options: core.PluginOptions contentDirPath: AbsolutePosixFilePath + isDocumentBodyField: boolean }): T.Effect => T.gen(function* ($) { - const isBodyField = fieldDef.name === options.fieldOptions.bodyFieldName + // const isDocumentBodyField = fieldDef.name === options.fieldOptions.bodyFieldName const rawDocumentData = yield* $(getFromDocumentContext('rawDocumentData')) // NOTE for the body field, we're passing the entire document file contents to MDX (e.g. in case some remark/rehype plugins need access to the frontmatter) // TODO we should come up with a better way to do this - if (isBodyField) { + if (isDocumentBodyField) { const rawContent = yield* $(getFromDocumentContext('rawContent')) if (rawContent.kind !== 'mdx' && rawContent.kind !== 'markdown') return utils.assertNever(rawContent) diff --git a/packages/@contentlayer/source-files/src/fetchData/mapping/index.ts b/packages/@contentlayer/source-files/src/fetchData/mapping/index.ts index bd706eb6..870cb8cb 100644 --- a/packages/@contentlayer/source-files/src/fetchData/mapping/index.ts +++ b/packages/@contentlayer/source-files/src/fetchData/mapping/index.ts @@ -287,7 +287,8 @@ const getDataForFieldDef = ({ } case 'mdx': { const mdxString = yield* $(parseFieldDataEff('mdx')) - return yield* $(makeMdxField({ mdxString, contentDirPath, fieldDef, options })) + const isDocumentBodyField = isRootDocument && fieldDef.name === options.fieldOptions.bodyFieldName + return yield* $(makeMdxField({ mdxString, contentDirPath, options, isDocumentBodyField })) } case 'image': const imageData = yield* $(parseFieldDataEff('image')) @@ -402,7 +403,7 @@ const getDataForListItem = ({ } case 'mdx': { const mdxString = yield* $(parseFieldDataEff('mdx')) - return yield* $(makeMdxField({ mdxString, contentDirPath, fieldDef, options })) + return yield* $(makeMdxField({ mdxString, contentDirPath, options, isDocumentBodyField: false })) } case 'image': const imageData = yield* $(parseFieldDataEff('image'))