Contentlayer
Migrate from Contentlayer to Content Collection
Content Collection was built as an alternative to the awesome Contentlayer, you can read more here. If you are coming from Contentlayer, you can migrate easily to Content Collection. The concepts are similar, but there are some differences.
Fields
Content Collections uses a schema to define the fields of a collection. Computed fields can be added with the transform function.
Content
In contentlayer you have to define if a collection is of type markdown
or mdx
.
Content Collections does not parse or compile the content of a file.
The content is just a string.
But it offers a transform function,
which can be used to transform the content before it is saved to the collection.
Please have a look at the transform documentation for more information.
_raw vs _meta
In Contentlayer, you can access the _raw
field with file details. In Content Collections, there's a similar field named _meta
for file information. When transitioning from Contentlayer to Content Collections, use the transform function to include a _raw
field mirroring Contentlayer's structure in the document. This way, you won't need to modify your application code.
Example
_id
Each document in Contentlayer has a unique identifier called _id
. Content Collections do not have an id
field. The _id
field in Contentlayer corresponds to the file path. By utilizing the transform function, we can assign the filePath
from the _meta
field as the _id
.