aboutsummaryrefslogtreecommitdiff
path: root/src/content/blog/hola-astro.md
diff options
context:
space:
mode:
authorAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-05-04 01:05:04 +0200
committerAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-05-04 13:34:10 +0200
commitfe7c149811f2e20c055ad0375aff05d29491efb4 (patch)
tree8df0652a35cca0f9c8fcb5fb90648fef2f8415b4 /src/content/blog/hola-astro.md
parent3de434508e0b609dea1ce8dca94ef1b708e61d61 (diff)
Rebuild the site in Astro
Add licence Update site name in header to match README.md Add missing metadescription, opengraph and link to RSS Update Astro configuration to include sitemap integration with priority and changefreq settings New post
Diffstat (limited to 'src/content/blog/hola-astro.md')
-rw-r--r--src/content/blog/hola-astro.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/content/blog/hola-astro.md b/src/content/blog/hola-astro.md
new file mode 100644
index 0000000..44a56b9
--- /dev/null
+++ b/src/content/blog/hola-astro.md
@@ -0,0 +1,33 @@
+---
+title: "Hola, Astro"
+metaDescription: "De mi migración a Astro, y por qué me gusta tanto"
+publishedAt: 2024-05-04
+---
+
+He estado probando [Astro](https://astro.build) durante las últimas semanas, y me ha gustado mucho, hasta el punto de que he decidido migrar este blog a Astro.
+
+## ¿Qué es Astro?
+
+Astro es un generador de sitios web estáticos implementado en JavaScript. Es similar a [Next.js](https://nextjs.org) o [Gatsby](https://www.gatsbyjs.com), pero con la diferencia de que Astro genera sitios estáticos sin JavaScript en el cliente (por defecto). De forma similar a Hugo, Hexo, Jekyll y otros generadores, a través de un sistema de plantillas, Astro genera HTML estático que se sirve al cliente.
+
+## ¿Por qué Astro?
+
+Astro me ha gustado por varias razones:
+
+1. **Sintaixs más cómoda**: Astro usa una sintaxis muy similar a HTML puro, pero con algunas mejoras. Por ejemplo, hay un "frontmatter" donde puedes definir JavaScript en tiempo de compilación, y tiene un sistema de componentes como el de React, Vue y otros frameworks modernos.
+
+2. **Soporte en el editor**: Astro tiene una extensión para Visual Studio Code que añade soporte para la sintaxis de Astro, y para el "frontmatter". Esto hace que sea más fácil trabajar con Astro en Visual Studio Code. Hugo usa el sistema de plantillas de Go, y no tiene soporte en Visual Studio Code, lo que hace que trabajar con Hugo sea más incómodo.
+
+3. **TypeScript**: Astro está escrito en TypeScript, y tiene soporte para TypeScript en los archivos de plantillas. Esto me gusta mucho, porque me permite usar TypeScript en los archivos de plantillas, y tener autocompletado y validación de tipos. En Hugo, por ejemplo, no puedo hacer esto, y dependo de compilar para enterarme de posibles errores.
+
+4. **SASS y estilos 'scoped'**: Astro tiene soporte para SASS, y para estilos "scoped" (es decir, estilos que solo afectan al componente donde se definen). Esto me gusta mucho, porque me permite tener estilos más organizados y reutilizables, y no tener que dar nombres de clases y montones de selectores.
+
+## ¿Qué he tenido que hacer para migrar?
+
+La migración ha sido relativamente sencilla, al poder aprovechar buena parte de los estilos y componentes que ya tenía en Hugo. He reimplementado las vistas HTML, aprovechando para arreglar "chapuzas" del pasado, y he usado algunos componentes para separar, por ejemplo, la cabecera y el pie de página.
+
+Además, he aprovechado para hacer otras mejoras, como añadir meta-descripciones a todas las páginas, y añadir un favicon. Añadí archivos al repositorio que me faltaban (como las licencias), y pulí un poco más los estilos.
+
+## ¿Qué me queda por hacer?
+
+Me queda por hacer algunas cosas, como añadir un sistema de comentarios (que crearé en Azure con Functions y CosmosDB), y potencialmente añadir un sistema de búsqueda (como Algolia). También me gustaría añadir un sistema de "dark mode" en algún momento, pero no es una prioridad. \ No newline at end of file