Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!