Date:

Test DEV Community

Levantamos la app

Para empezar, creamos un proyecto Astro con el comando npm create astro@latest -- --template blog. Luego, ejecutamos npm run dev para levantar la aplicación.

Content Layer API de Astro para integrar publicaciones de dev.to en tu sitio

Puedes utilizar la Content Layer API de Astro para integrar publicaciones de dev.to en tu sitio. Aunque no existe un cargador (loader) específico para dev.to, puedes crear uno personalizado que consuma su API y almacene las publicaciones en una colección de contenido en Astro.

Configura el acceso a la API de dev.to

Primero, debes configurar el acceso a la API de dev.to. Para hacer esto, crea un archivo getArticles.js en la carpeta src/lib/ con el siguiente contenido:

import { DEV_API_KEY, DEV_TO_API_URL } from '../meta/env';

export async function fetchArticles() {
  const res = await fetch(`${DEV_TO_API_URL}articles/me/published`, {
    headers: {
      'api-key': DEV_API_KEY,
    },
  });
  const data = await res.json();
  return data;
}

Define una colección en Astro

En el archivo src/content.config.ts, define una colección para las publicaciones de dev.to utilizando la Content Layer API:

import { defineCollection } from 'astro/content';
import { fetchArticles } from '../lib/getArticles';

const devTo = defineCollection({
  loader: async () => {
    const articles = await fetchArticles();
    return articles.map((article) => ({
      id: article.id.toString(),
      slug: article.slug,
      body: article.body_markdown,
      data: {
        title: article.title,
        date: new Date(article.published_at),
        tags: article.tag_list,
        summary: article.description,
        image: article.social_image,
      },
    }));
  },
});

export const collections = { blog, devTo };

Conclusión

En este artículo, hemos visto cómo utilizar la Content Layer API de Astro para integrar publicaciones de dev.to en tu sitio. Primero, configuramos el acceso a la API de dev.to y luego definimos una colección para las publicaciones utilizando la Content Layer API. Finalmente, hemos exportado la colección como un objeto para utilizarla en nuestro sitio.

Preguntas frecuentes

  • ¿Cómo puedo personalizar la carga de publicaciones de dev.to?
    Puedes personalizar la carga de publicaciones de dev.to modificando el archivo getArticles.js para que se adapte a tus necesidades específicas.
  • ¿Cómo puedo agregar más campos a la colección de publicaciones?
    Puedes agregar más campos a la colección de publicaciones modificando el objeto data en el archivo src/content.config.ts.
  • ¿Cómo puedo utilizar la colección de publicaciones en mi sitio?
    Puedes utilizar la colección de publicaciones en tu sitio mediante el uso de la Content Layer API de Astro. Por ejemplo, puedes utilizar la colección para renderizar una lista de publicaciones en una página de inicio.

Latest stories

Read More

Opinion: Exotec managing director highlights key warehouse automation trends for 2026

Thomas Genestar, managing director of western Europe at...

MassRobotics opens RoboBoston 2026 sponsorships and announces AI career fair

MassRobotics has announced that it will host RoboBoston...

Agility Robotics opens new Fremont facility to accelerate physical AI development

Agility Robotics, a humanoid robotics and physical AI...

Luyten opens early reservations for Ascend A27 automated construction platform

Australian construction robotics company Luyten has opened early...

LEAVE A REPLY

Please enter your comment!
Please enter your name here