contentlayerdev / contentlayerdev/contentlayer
Fields of type `reference` should be able to embed their data
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- TypeScript
- Estrelas
- 3.5k
- Forks
- 192
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
Given the following config:
const Category = defineDocumentType(() => ({
name: 'Category',
filePathPattern: 'categories/*.md',
bodyType: 'none',
fields: {
title: { type: 'string', required: true },
},
}))
const Doc = defineDocumentType(() => ({
name: 'Doc',
filePathPattern: '**/*.mdx',
bodyType: 'mdx',
fields: {
title: { type: 'string', required: true },
category: { type: 'reference', of: Category }
},
}))
export default makeSource({
contentDirPath: 'content',
documentTypes: [Doc, Category],
})
And the following content files:
content/categories/a.md
---
title: My First Category
---
content/docs/index.mdx
---
title: Home Page
category: categories/a.md
---
The output document would have the following:
{
"title": "Home Page",
"category": "categories/a.md",
// ...
}
It would be nice to (optionally) embed the category data directly in the output document. Otherwise, I have to defer that logic to my application. Being that it's data manipulation, it seems right that Contentlayer would handle this.
I'd rather see the output like this:
{
"title": "Home Page",
"category": {
"title": "My First Category"
},
// ...
}
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pela configuração do tipo de documento e pelos dois arquivos de conteúdo de exemplo na issue, reproduzindo a saída de referência atual. Rastreie como a referência category é resolvida e determine como uma configuração opcional de embedding deve afetá-la; o trabalho estará concluído quando a saída puder conter o objeto de categoria com seu título, preservando o comportamento de referência existente quando o embedding não estiver habilitado.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- typescript
- Domínio
- content
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 42/100