Saltar al contenido

Cómo Crear un Blog con Gatsby y Markdown

Crear un Blog con Gatsby y Markdown

En los últimos tiempos, los sitios de desarrollo estático han ganado popularidad. Esto se debe a que son rápidos, seguros y simples. Gatsby destaca dentro de este movimiento como un Generador de Sitios Estáticos (SSG). Es conocido por su velocidad gracias a tecnologías como React y GraphQL.

Además, estos sitios hechos con Gatsby son veloz y eficientes. Esto vale tanto durante su desarrollo como una vez están en funcionamiento.

La gente, empresas e incluso tecnologías como React.js Documentación Oficial, Blog personal de Dan Abramov (overreacted.io) y Página web de Kent C. Dodds han elegido Gatsby. Este generador les permite crear sitios rápidos y seguros.

Tiene la ventaja de poder integrar distintas fuentes de información. Puede conectarse con CMS como WordPress o ‘Sanity.io’, APIs, servicios y hasta bases de datos como Firebase. Una de las mejores partes de usar Gatsby es que mantiene tu información segura. No hace peticiones ni almacena información peligrosa al ser publicado.

Puntos clave:

  • Gatsby es un framework open source que integra React y GraphQL para crear aplicaciones web rápidas.
  • Gatsby permite conectar con diferentes fuentes de datos, como CMS, APIs y bases de datos.
  • Gatsby se destaca por su velocidad y seguridad, ya que recolecta la información del sitio sin hacer peticiones en producción.
  • Gatsby es muy popular y ha sido adoptado por empresas y desarrolladores líderes en la industria.
  • Crear un blog con Gatsby y Markdown es una solución eficiente y escalable.

¿Qué es Gatsby?

Gatsby es un framework de código abierto que usa React para hacer páginas web muy rápidas. Actúa como un constructor que cuida de cosas importantes desde el inicio. Por ejemplo, ayuda con SEO, accesibilidad y mejora el rendimiento de las páginas. Así, hacer páginas web que estén listas rápido es más fácil que solo con React. Combina herramientas como React y GraphQL. Esto hace que las páginas no solo sean rápidas mientras se crean, también lo son cuando se ven.

TecnologíaDescripción
GatsbyFramework basado en React que ayuda a crear sitios web y aplicaciones web rápidos
ReactBiblioteca de JavaScript para construir interfaces de usuario
GraphQLLenguaje de consulta y entorno de ejecución para API, utilizado por Gatsby para interactuar con los datos
Generador de sitios estáticosHerramienta que compila el sitio web en archivos HTML, CSS y JavaScript estáticos antes de la publicación
SEOOptimización de un sitio web para que sea visible y relevante en los motores de búsqueda
AccesibilidadDiseño de un sitio web para que pueda ser utilizado por personas con discapacidades
Optimización del rendimientoMejora de la velocidad y eficiencia de un sitio web

Crear un Blog con Gatsby y Markdown

Para empezar con Gatsby, tenemos dos opciones. Podemos usar Starters o comenzar desde cero. La manera más rápida es usando Starters. Solo necesitas elegir uno y listo. También, está el gatsby-starter-default para empezar de forma simple.

Pasos para iniciar un proyecto con Gatsby

Iniciar «a mano» significa más trabajo. Tendrás que instalar React y Gatsby, además de crear varios archivos. Algunos de estos son gatsby-config.js, gatsby-node.js, gatsby-browser.js y gatsby-ssr.js. Con estos, puedes configurar muchas cosas, como metadatos, qué plugins usar y páginas dinámicas.

Usando Starters

Empezar con un Starter hace todo más fácil. Solo encuentra uno que se adecue a tus necesidades y instálalo.

Configurando Gatsby

Para personalizar tu proyecto, usa los archivos de configuración de Gatsby. Con gatsby-config.js, gatsby-node.js, gatsby-browser.js y gatsby-ssr.js, puedes ajustar metadatos, plugins y páginas al gusto.

Configuración Gatsby

Plugins en Gatsby

En Gatsby, los plugins son como herramientas creadas por la gente. Ayudan a poner a punto tu aplicación. A diferencia de WordPress, no ralentizan tu sitio. Esto es porque Gatsby convierte todo tu código previamente.

Plugins utilizados para este proyecto

Para nuestro proyecto vamos a emplear varios plugins. Algunos ejemplos son gatsby-source-filesystem y gatsby-transformer-remark. También usaremos gatsby-plugin-sitemap y gatsby-plugin-image. Estos plugins mejora el manejo de contenido en Markdown. Ademas, ayudan a optimizar imágenes, crear mapas de sitio, y más.

PluginFunción
gatsby-source-filesystemPermite leer archivos Markdown y otras fuentes de contenido
gatsby-transformer-remarkTransforma los archivos Markdown en datos que Gatsby puede usar
gatsby-plugin-sitemapGenera un mapa del sitio para una mejor indexación por buscadores
gatsby-plugin-react-helmetFacilita la gestión de los metadatos de la página
gatsby-plugin-imageOptimiza las imágenes para una carga más rápida
gatsby-plugin-sassPermite usar Sass para los estilos del sitio

Generando páginas a partir de Markdown

Para hacer páginas de archivos Markdown, usamos gatsby-node.js. Usamos onCreateNode para sacar el slug de cada Markdown. Luego, createPages hace consultas GraphQL y crea páginas con ese slug y un diseño de blog.

Creando nodos en gatsby-node.js

Usamos onCreateNode para extraer el slug de cada Markdown. Luego, lo añadimos a los nodos. Así, cada archivo Markdown tendrá su URL única.

Generando páginas con createPages

Después de tener el slug en los nodos, toca crear las páginas. Con createPages, hacemos consultas para los blogposts. Así, se crean las páginas usando un diseño especial.

Creando un template para las páginas de blogposts

Un diseño especial en React llena las páginas de blogposts. Este diseño lo guardamos en src/templates. Y se usa en createPages para hacer los blogs.

Generación de páginas Gatsby

Listando las publicaciones en la página principal

Crear una página para cada blogpost es clave. Pero, esencial también es mostrar todas las publicaciones principales en la página principal. Para eso, usaremos una consulta GraphQL en el inicio del sitio.

Esta consulta permitirá ver todos los blogposts. Aparecerán en un listado con un enlace a cada uno. Así, los visitantes podrán llegar fácil a la página de cada blogpost.

CaracterísticasValores
Generador de sitios estáticosGatsby
Lenguaje principalJavaScript
Integración con GraphQL
Optimización de rendimientoAltamente optimizado
Plataformas de hospedajeGitHub Pages, Netlify

Configurando un CMS con Netlify

Vamos a añadir Netlify CMS para editar fácilmente el blog. Es un CMS usado con sitios estáticos como Gatsby. Necesitamos poner una carpeta «admin» en «static». En ella, va un index.html que llama a Netlify CMS. También un config.yml para ajustar las colecciones, como la de los blogposts.

Configuración de la carpeta Admin

Lo primero, creamos una carpeta «admin» en «static». Ahí colocaremos un index.html que activa Netlify CMS.

Configurando colecciones

En la carpeta «admin», creamos un config.yml. Esto sirve para indicar las colecciones que tendremos, como la de «entradas de blog». Esta colección incluirá info básica como título, fecha de publicación, y el texto del post.

Autenticación en el código

Además de la carpeta «admin» y sus ajustes, pondremos código para autenticar usuarios. Esto va en la carpeta «admin» y en index.js del sitio.

Deployment en Netlify

Usaremos Netlify para publicar el sitio y dejarlo en línea. Será fácil y nos da SSL gratis.

Autenticación en Netlify

Por último, configuraremos la autenticación con Netlify. Se hace desde el panel, activando Identity y Git Gateway. Así, decidimos si el CMS será privado o público.

Netlify CMS

Personalización adicional

Además de hacer funcionar el blog, podemos añadir más cosas para mejorar nuestro sitio web. Podemos hacerlo mejor en internet, ser más fáciles de encontrar en buscadores y más accesibles para todos.

Para que las páginas se carguen más rápido, Gatsby tiene muchas herramientas útiles. Por ejemplo, podemos dividir y cargar los códigos necesarios. También podemos preparar de antemano los recursos que necesitarán los usuarios o ajustar las imágenes para que pesen menos.

Mejorar el SEO es fácil con Gatsby. Podemos crear automáticamente cosas como los metadatos y los mapas del sitio. Esto ayuda a que nos encuentren mejor en Google.

Gatsby se preocupa por la accesibilidad también. Ofrece formas de hacer nuestro sitio amigable y fácil de usar para todos, incluso para quienes necesitan herramientas de asistencia. Con ciertos plugins, es aún más sencillo lograrlo.

Otra ventaja de Gatsby es que podemos hacer nuestro blog muy atractivo visualmente. Podemos añadir servicios y funciones especiales para blogs. Su flexibilidad nos permite adaptarlo como queramos, haciéndolo único y perfecto para lo que necesitamos.

Conclusión

En este tutorial, hemos visto cómo crear un blog. Lo hicimos rápido, seguro y fácil de ampliar. Usamos Gatsby, Markdown y Netlify CMS. Aprendimos a configurar Gatsby y generar páginas desde archivos Markdown.

También aprendimos a listar las publicaciones en la página principal. Eso fue gracias a la integración de un CMS. Gatsby es muy útil para crear sitios y aplicaciones web. Se enfoca en ser rápido, seguro y optimizado.

En este proyecto conocimos Gatsby más. Usamos React y GraphQL para hacer nuestra aplicación web aún mejor. El uso de Markdown para el contenido fue muy útil. Y la inclusión de Netlify CMS facilitó mantener el blog actualizado.

En resumen, vimos que Gatsby es genial para hacer blogs y sitios web. Es bueno en performance, seguridad y optimización. Al usar Gatsby, Markdown y Netlify CMS, hacemos una solución fuerte para nuestro blog.

FAQ

¿Qué es Gatsby?

Gatsby es un marco de trabajo de código abierto. Usa tecnologías como React y GraphQL. Hace que nuestras apps sean rápidas y eficientes, tanto al construirlas como al usarlas. Mucha gente y empresas están pasando a Gatsby por eso.

¿Cómo puedo iniciar un proyecto con Gatsby?

Iniciar un proyecto en Gatsby es fácil. Puedes usar Starters, que son proyectos de ejemplo, o empezar desde cero. Si usas Starters, elige el que quieras e instálalo. Para empezar desde cero, configura React y Gatsby, y crea los archivos y carpetas necesarios.

¿Qué son los plugins en Gatsby?

Los plugins son piezas de software que puedes añadir a tu proyecto. Son hechos por la comunidad. En Gatsby, no ralentizan tu app porque todo se compila antes de mostrarla.

¿Cómo se generan las páginas a partir de archivos Markdown?

Usamos un archivo llamado gatsby-node.js para esta tarea. En la función onCreateNode, obtenemos la URL de cada archivo Markdown y la añadimos como un nuevo campo. Luego, en createPages usamos GraphQL para encontrar y crear páginas con un diseño especial para cada artículo.

¿Cómo se listan las publicaciones en la página principal?

Para mostrar las publicaciones, usamos GraphQL de nuevo. En el archivo index.js, hacemos una consulta para obtener los posts y luego los mostramos como una lista en la página de inicio. Cada post tiene un enlace a su página individual.

¿Cómo se integra Netlify CMS en un proyecto Gatsby?

Integrar Netlify CMS es bastante sencillo. Primero, creamos una carpeta «admin» en «static» con algunos archivos. Luego, configuramos Netlify CMS para trabajar con nuestro proyecto y hacerlo seguro. De esta manera, tenemos un CMS cómodo y fácil de usar junto a nuestro proyecto Gatsby.

Enlaces de origen

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *