summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-07-14 16:34:22 +0200
committerAriel Costas Guerrero <ariel@costas.dev>2025-07-14 16:34:22 +0200
commita2992b2a38cd236693211cd791e162719f43f9d9 (patch)
treeedaea8c11a633ce2eb23ec971e7d0390e190941b
parent9b2638a6c4f3a3b3ffc12e12d79dc4ae73a911e3 (diff)
Fix links and improve descriptions across blog and portfolio layouts
-rw-r--r--src/data/blog/configurar-php-iis.md2
-rw-r--r--src/layouts/BlogListLayout.astro2
-rw-r--r--src/layouts/BlogSingleLayout.astro4
-rw-r--r--src/layouts/HomePageLayout.astro43
-rw-r--r--src/layouts/Layout.astro4
-rw-r--r--src/layouts/PortfolioListLayout.astro14
-rw-r--r--src/layouts/PortfolioSingleLayout.astro2
7 files changed, 39 insertions, 32 deletions
diff --git a/src/data/blog/configurar-php-iis.md b/src/data/blog/configurar-php-iis.md
index 8441874..97a7a3f 100644
--- a/src/data/blog/configurar-php-iis.md
+++ b/src/data/blog/configurar-php-iis.md
@@ -15,7 +15,7 @@ Para este tutorial, suponemos que estamos usando lo siguiente:
- Dominio de la aplicación: `app.internal` (`.internal` está reservado para uso interno)
- PHP instalado en `C:\php`
- IIS habilitado y funcionando (en `localhost:80` deberías ver la página de inicio de IIS)
-- [MKCert](https://mkcert.dev) instalado para generar certificados TLS autofirmados
+- [MKCert](https://github.com/FiloSottile/mkcert) instalado para generar certificados TLS autofirmados
## Crear un certificado TLS autofirmado
diff --git a/src/layouts/BlogListLayout.astro b/src/layouts/BlogListLayout.astro
index 4ad72ea..be40a74 100644
--- a/src/layouts/BlogListLayout.astro
+++ b/src/layouts/BlogListLayout.astro
@@ -93,7 +93,7 @@ const schema = {
const tagsAttribute = postTags.join(',');
return (
<li class="post-item" data-tags={tagsAttribute}>
- <a href={`/blog/${post.id}`}>{post.data.title}</a>
+ <a href={`/blog/${post.id}/`}>{post.data.title}</a>
{postTags.length > 0 && (
<ul class="post-tags">
{postTags.map((tag: string) => (
diff --git a/src/layouts/BlogSingleLayout.astro b/src/layouts/BlogSingleLayout.astro
index 0c3b934..44fe55c 100644
--- a/src/layouts/BlogSingleLayout.astro
+++ b/src/layouts/BlogSingleLayout.astro
@@ -49,7 +49,7 @@ const schema = {
};
---
-<Layout title={entry.data.title} description={entry.data.metaDescription}>
+<Layout title={entry.data.title} description={entry.data.description}>
<script
is:inline
type="application/ld+json"
@@ -78,7 +78,7 @@ const schema = {
<Content />
<p>
- <a href="/blog">Volver al blog</a>
+ <a href="/blog/">Volver al blog</a>
</p>
</Layout>
diff --git a/src/layouts/HomePageLayout.astro b/src/layouts/HomePageLayout.astro
index fd7c5eb..fb3cf34 100644
--- a/src/layouts/HomePageLayout.astro
+++ b/src/layouts/HomePageLayout.astro
@@ -32,18 +32,18 @@ const schema = {
<h2>¿Quién soy?</h2>
<p>
- Soy un desarrollador de software con varios años de experiencia en el sector,
- especializado en el desarrollo de aplicaciones web y la administración de
- sistemas Cloud. Me apasiona la tecnología y disfruto creando soluciones
- prácticas y eficientes para resolver problemas reales, simplificando la vida
- y el trabajo de las personas.
+ Soy un desarrollador de software con varios años de experiencia en el
+ sector, especializado en el desarrollo de aplicaciones web y la
+ administración de sistemas Cloud. Me apasiona la tecnología y disfruto
+ creando soluciones prácticas y eficientes para resolver problemas reales,
+ simplificando la vida y el trabajo de las personas.
</p>
<p>
- En mi tiempo libre, fuera de mi trabajo, me interesan temas como la filosofía,
- la economía y las finanzas, así como el derecho y la política. Me gusta
- aprender sobre cómo funcionan las cosas y cómo se relacionan entre sí, y
- reflexionar sobre el impacto que tienen en nuestra sociedad y en nuestras
+ En mi tiempo libre, fuera de mi trabajo, me interesan temas como la
+ filosofía, la economía y las finanzas, así como el derecho y la política. Me
+ gusta aprender sobre cómo funcionan las cosas y cómo se relacionan entre sí,
+ y reflexionar sobre el impacto que tienen en nuestra sociedad y en nuestras
vidas cotidianas.
</p>
@@ -56,21 +56,28 @@ const schema = {
segura y eficiente.
</p>
- <a href="/trajectory">Conoce más sobre mi trayectoria profesional</a>
+ <a href="/trajectory/">Conoce más sobre mi trayectoria profesional</a>
<p>
También realizo ocasinalmente proyectos personales y freelance para clientes
- que necesitan soluciones a medida o apoyo técnico en sus proyectos. Me
- gusta trabajar con tecnologías modernas y aprender nuevas habilidades para
- mejorar mi trabajo y ofrecer un mejor servicio a mis clientes.
+ que necesitan soluciones a medida o apoyo técnico en sus proyectos. Me gusta
+ trabajar con tecnologías modernas y aprender nuevas habilidades para mejorar
+ mi trabajo y ofrecer un mejor servicio a mis clientes.
</p>
- <a href="/portfolio">Echa un vistazo a mi portfolio</a>
+
+ <p>
+ Si necesitas ayuda con un proyecto o quieres colaborar conmigo, no dudes en
+ ponerte en contacto conmigo a través de mi correo electrónico o mis redes
+ sociales.
+ </p>
+
+ <a href="/portfolio/">Echa un vistazo a mi portfolio</a>
<h2>Mis reflexiones</h2>
<p>
- En mi blog comparto mis reflexiones, aprendizajes y experiencias sobre
- los temas que me interesan, además de hablar ocasionalmente sobre tecnología
- y desarrollo. Disfruto escribiendo sobre lo que aprendo y reflexiono, pudiendo
+ En mi blog comparto mis reflexiones, aprendizajes y experiencias sobre los
+ temas que me interesan, además de hablar ocasionalmente sobre tecnología y
+ desarrollo. Disfruto escribiendo sobre lo que aprendo y reflexiono, pudiendo
plasmar mis ideas de forma clara y ordenada, y compartiéndolas con el mundo.
</p>
<ul>
@@ -84,7 +91,7 @@ const schema = {
return (
<li>
<time datetime={p.data.publishedAt.toISOString()}>{date}</time>
- <a href={`/blog/${p.id}`}>{p.data.title}</a>
+ <a href={`/blog/${p.id}/`}>{p.data.title}</a>
</li>
);
})
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index 20dca59..d6ccaa0 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -12,8 +12,8 @@ interface Props {
const { title, description, empty } = Astro.props;
---
-<!doctype html>
-<html lang={Astro.currentLocale}>
+<!DOCTYPE html>
+<html lang={Astro.currentLocale || "es"}>
<head>
<meta charset="UTF-8" />
<meta name="description" content={description} />
diff --git a/src/layouts/PortfolioListLayout.astro b/src/layouts/PortfolioListLayout.astro
index b894f9f..b509bec 100644
--- a/src/layouts/PortfolioListLayout.astro
+++ b/src/layouts/PortfolioListLayout.astro
@@ -33,7 +33,7 @@ const schema = {
title="Mapa patrimonial de la Costa Ártabra"
summary="Desarrollo de una aplicación completa para el patrimonio cultural y militar de la Costa Ártabra, con un sistema CMS para el personal de la administración y una aplicación web progresiva (PWA) para visualizar el mapa y planificar rutas."
tags={["dotnet", "react", "mysql", "ubuntu"]}
- detailsLink="/portfolio/mapa-ferrol"
+ detailsLink="/portfolio/mapa-ferrol/"
onlineLink="https://mapacostaartabramilitar.com"
/>
@@ -41,28 +41,28 @@ const schema = {
title="Extractor de pedidos venta online"
summary="Aplicación de escritorio que extrae los datos sobre los pedidos on-line de diversas plataformas (como WooCommerce, Amazon y Ebay)."
tags={["java", "windows"]}
- detailsLink="/portfolio/order-extractor"
+ detailsLink="/portfolio/order-extractor/"
/>
<PortfolioProject
title="Museo a ceo aberto de Ponteareas"
summary="Desarrollo de visualización de contenido turístico para el Concello de Ponteareas. Incluye contenido en 360º e incrustación de vídeos de YouTube. Realizado en 2021."
tags={["php", "web"]}
- detailsLink="/portfolio/qr-ponteareas"
+ detailsLink="/portfolio/qr-ponteareas/"
/>
<PortfolioProject
title="QR Touro turístico"
summary="Desarrollo de un generador estático en TypeScript para información turística del Concello de Touro. Realizado en 2020."
tags={["typescript", "web"]}
- detailsLink="/portfolio/qr-touro"
+ detailsLink="/portfolio/qr-touro/"
/>
<PortfolioProject
title="Consultoría WordPress"
summary="Trabajos de mantenimiento, optimización y migración de sitios web WordPress y tiendas online WooCommerce."
tags={["php", "wordpress"]}
- detailsLink="/portfolio/wp-consulting"
+ detailsLink="/portfolio/wp-consulting/"
/>
</section>
@@ -83,7 +83,7 @@ const schema = {
summary="Aplicación web para la gestión de entrenamientos deportivos, con una interfaz sencilla y fácil de usar. Desarrollado con ASP.NET Core, Razor Pages y SQL Server."
tags={["dotnet", "azure"]}
githubLink="https://github.com/arielcostas/mientreno"
- detailsLink="/portfolio/mientreno"
+ detailsLink="/portfolio/mientreno/"
/>
<PortfolioProject
@@ -91,7 +91,7 @@ const schema = {
summary="Blog sobre Vigo y su entorno, orientado principalmente a hablar de movilidad y toponimia. Desarrollado en Go, con base de datos MySQL y desplegado sobre VPS administrado por mí mismo."
tags={["go", "mysql", "ubuntu"]}
githubLink="https://github.com/arielcostas/vigo360"
- detailsLink="/portfolio/vigo-360"
+ detailsLink="/portfolio/vigo-360/"
onlineLink="https://vigo360.es"
/>
</section>
diff --git a/src/layouts/PortfolioSingleLayout.astro b/src/layouts/PortfolioSingleLayout.astro
index 8ca8cbb..1922e16 100644
--- a/src/layouts/PortfolioSingleLayout.astro
+++ b/src/layouts/PortfolioSingleLayout.astro
@@ -15,7 +15,7 @@ const { Content } = await render(entry);
---
<Layout title={data.title} description={data.description}>
- <a id="link-back" href="/portfolio">
+ <a id="link-back" href="/portfolio/">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"