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

LEAVE A REPLY

Please enter your comment!
Please enter your name here