Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

142
Visualizações
Blog de Eleventy y Netlify, con relaciones de autor

Tengo un sitio tipo blog en el que he estado trabajando, que está casi completo. Usé Eleventy y ahora conecté Netlify CMS, lo que me obligó a reestructurar algunos datos.

Netlify CMS requiere que tenga archivos separados para los datos del widget de relación, en este caso, los autores. Así que tengo un directorio de autores, que actualmente tiene 3 archivos json: jbloggs.json, etc., cada objeto es plano, siendo un ejemplo de uno:

./src/_data/authors/jbloggs.json

 {
 "key": "jbloggs",
 "name": "Joe Bloggs",
 // ... Removed for brevity
}

Inicialmente creé una serie de objetos y todo funcionaba muy bien:

./src/autores.json

 [
 {
 "key": "jbloggs",
 "name": "Joe Bloggs",
 // ... Removed for brevity
 },
 {
 "key": "user2",
 "name": "User Two",
 // ... Removed for brevity
 }
]

Lo que debo hacer es tomar la cantidad de archivos que haya en mi directorio de autores y agregar los objetos de cada archivo a la matriz en mi archivo author.json. Intenté usar json-concat, sin éxito. Tengo fs y json-concat requeridos en mi archivo eleventy:

 const files = [];
const {resolve} = require('path');
const source = resolve('./src/_data/authors');
const target = resolve('./src/authors.json');

fs.readdirSync(source).forEach((file) => {
 files.push(file);
})

jsonConcat({ src: files, dest: target }, function (json) {
 console.log(files); // returns an array of the correct filenames
 console.log(target); // returns the path to the target file /Users/darrenlee/Desktop/WebApp/src/authors.json
 console.log(json); // returns null
});

En mi terminal también obtengo: [11ty] Archivo cambiado: src/authors.json, pero el archivo no ha cambiado, todavía tengo solo 2 autores allí y el objetivo es tener todos los autores (actualmente 3) de los archivos del directorio de autores.

Cualquier ayuda sería muy apreciada.

Gracias

almost 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Resultó que estaba complicando demasiado las cosas y no necesitaba agregar nada al archivo author.json.

De hecho, ahora eliminé esos archivos porque acabo de crear una nueva colección:

 eleventyConfig.addCollection("contributors", author => Object.values(author.items[0].data.contributors));

Y ahora, en lugar de llamar a los datos globales de mis authors , simplemente llamo a collections.contributors en mis plantillas de Nunjucks. Como siempre, probablemente haya una manera mucho más limpia, pero tengo filtros existentes para mostrar todas las guías de un autor elegido y su biografía en sus publicaciones, etc.

Está funcionando bien, así que por ahora se envía, tal vez intente replicar esto sin crear la colección adicional en una fecha posterior, si alguna vez lo descubro.

almost 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda