contentlayerdev / contentlayerdev/contentlayer
Define body as a field
- Dominant language
- TypeScript
- Stars
- 3.5k
- Forks
- 192
- PR merge metrics
- No merged PRs in 30d
Description
Building on #91, `body` is the one field that feels a little too magical. It _just works_, which is great, but maybe not entirely obvious.
Putting this issue here to discuss separately.
One thought I had was that if we pursued #91, it'd justify this move more to me. In this case, the `fields` definition would contain **every property** in the document that is generated without a preceding underscore (generated/reserved).
While I like the magic, I also wouldn't mind being more explicit in my schema definition. We could remove the `bodyType` option and instead have something like this:
```js
fields: {
title: { type: 'string', required: true },
body: { type: 'mdx', source: 'body' }
}
```
This is just a first pass. TBH I don't like the shape of the API suggested above. Just something to get us thinking about this.
Contributor guide
Assessment
This issue has not been assessed yet.