From 54dab1e00b38693e96c801d0c5a020693a35bbda Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero <94913521+arielcostas@users.noreply.github.com> Date: Fri, 14 Mar 2025 22:21:47 +0100 Subject: Refactor SCSS imports to use @use syntax, update portfolio entries, and add new projects --- src/pages/blog/[id].astro | 12 ++- src/pages/portfolio/[id].astro | 55 +++++++++++ src/pages/portfolio/dynamic-tourist-info.astro | 26 ------ src/pages/portfolio/index.astro | 124 +++++++++++++++---------- src/pages/portfolio/order-extractor.astro | 28 ------ src/pages/portfolio/vigo-360.astro | 29 ------ src/pages/trajectory.astro | 8 ++ 7 files changed, 144 insertions(+), 138 deletions(-) create mode 100644 src/pages/portfolio/[id].astro delete mode 100644 src/pages/portfolio/dynamic-tourist-info.astro delete mode 100644 src/pages/portfolio/order-extractor.astro delete mode 100644 src/pages/portfolio/vigo-360.astro (limited to 'src/pages') diff --git a/src/pages/blog/[id].astro b/src/pages/blog/[id].astro index 50bf998..e1b5250 100644 --- a/src/pages/blog/[id].astro +++ b/src/pages/blog/[id].astro @@ -1,15 +1,19 @@ --- -import type { GetStaticPaths } from "astro"; import Layout from "../../layouts/Layout.astro"; import { getCollection, render } from "astro:content"; +import { type GetStaticPaths } from "astro"; -export const getStaticPaths = (async () => { +interface Props { + entry: any; +} + +export const getStaticPaths: GetStaticPaths = (async () => { const entries = await getCollection("blog"); - return entries.map((entry) => ({ + return entries.map((entry: any) => ({ params: { id: entry.id }, props: { entry }, })); -}) satisfies GetStaticPaths; +}); const { entry } = Astro.props; const { Content } = await render(entry); diff --git a/src/pages/portfolio/[id].astro b/src/pages/portfolio/[id].astro new file mode 100644 index 0000000..55bac3f --- /dev/null +++ b/src/pages/portfolio/[id].astro @@ -0,0 +1,55 @@ +--- +import Layout from "../../layouts/Layout.astro"; +import { getCollection, render } from "astro:content"; +import { type GetStaticPaths } from "astro"; +import TechnologyBadge from "../../partials/TechnologyBadge.astro"; + +interface Props { + entry: any; +} + +export const getStaticPaths: GetStaticPaths = (async () => { + const entries = await getCollection("portfolio"); + return entries.map((entry: any) => ({ + params: { id: entry.id }, + props: { entry }, + })); +}); + +const { entry } = Astro.props; +const { Content } = await render(entry); +--- + + + + + + + Volver al portfolio + + +

{entry.data.title}

+ + + +

Tecnologías utilizadas

+ + {entry.data.technologies.map((technology: string) => ( + + ))} +
+ + diff --git a/src/pages/portfolio/dynamic-tourist-info.astro b/src/pages/portfolio/dynamic-tourist-info.astro deleted file mode 100644 index ed2be9f..0000000 --- a/src/pages/portfolio/dynamic-tourist-info.astro +++ /dev/null @@ -1,26 +0,0 @@ ---- -import Layout from "../../layouts/Layout.astro"; -import TechnologyBadge from "../../partials/TechnologyBadge.astro"; ---- - - - ← Volver al portfolio - -

Punto de información turística en móviles (2020-2021)

- -

- Creación de un sitio web dinámico con PHP adaptado a móviles y accesible - mediante QR en localizaciones físicas. Cada página muestra datos de la - ubicación correspondiente en tres idiomas (castellano, gallego e - inglés), una galería de imágenes en 360º con la biblioteca PanoLens y - vídeos incrustados de YouTube. -

- -

Tecnologías utilizadas

- - - -
diff --git a/src/pages/portfolio/index.astro b/src/pages/portfolio/index.astro index ff80ae8..43f776b 100644 --- a/src/pages/portfolio/index.astro +++ b/src/pages/portfolio/index.astro @@ -30,95 +30,117 @@ const schema = {

Proyectos para terceros (freelance)

- En contadas ocasiones, he realizado proyectos para terceros por encargo: + He realizado desarrollos de proyectos para terceros por encargo, siendo los más destacados los siguientes:

- + + +

Proyectos propios

- Además, tengo varios proyectos propios que he desarrollado en mi tiempo - libre: + Además, tengo varios proyectos propios que he desarrollado en mi tiempo, estando algunos de ellos en activo, y como código abierto.

- + + + + + + + \ No newline at end of file diff --git a/src/pages/portfolio/order-extractor.astro b/src/pages/portfolio/order-extractor.astro deleted file mode 100644 index a799c6d..0000000 --- a/src/pages/portfolio/order-extractor.astro +++ /dev/null @@ -1,28 +0,0 @@ ---- -import Layout from "../../layouts/Layout.astro"; -import TechnologyBadge from "../../partials/TechnologyBadge.astro"; ---- - - - ← Volver al portfolio - -

Extractor de pedidos (2023-actualidad)

- -

- Implementación de una aplicación de escritorio que extrae los datos - sobre los pedidos on-line de diversas plataformas (como WooCommerce, - Amazon y Ebay) para almacenar de forma local y centralizada. Además, - cruza estos datos con la base de datos de productos en almacén y sus - precios de coste, para generar informes de Excel sobre los ingresos y - costes por cada pedido, así como calcular la rentabilidad de estos. -

- -

Tecnologías utilizadas

- - - - -
diff --git a/src/pages/portfolio/vigo-360.astro b/src/pages/portfolio/vigo-360.astro deleted file mode 100644 index 46c4cc2..0000000 --- a/src/pages/portfolio/vigo-360.astro +++ /dev/null @@ -1,29 +0,0 @@ ---- -import Layout from "../../layouts/Layout.astro"; -import TechnologyBadge from "../../partials/TechnologyBadge.astro"; ---- - - - ← Volver al portfolio - -

Vigo 360 (2021-actualidad)

- -

- Implementación de una aplicación de escritorio que extrae los datos - sobre los pedidos on-line de diversas plataformas (como WooCommerce, - Amazon y Ebay) para almacenar de forma local y centralizada. Además, - cruza estos datos con la base de datos de productos en almacén y sus - precios de coste, para generar informes de Excel sobre los ingresos y - costes por cada pedido, así como calcular la rentabilidad de estos. -

- -

Tecnologías utilizadas

- - - - - -
diff --git a/src/pages/trajectory.astro b/src/pages/trajectory.astro index 8bb5da5..87557de 100644 --- a/src/pages/trajectory.astro +++ b/src/pages/trajectory.astro @@ -44,6 +44,14 @@ const schema = {

Educación y credenciales

    +
  • + Certificado oficial EF SET C2 Proficient: + acredita mi nivel de inglés C2, el más alto según el Marco Común + Europeo de Referencia para las Lenguas. Ver certificado +
  • +
  • Microsoft Certified: Azure Developer Associate: acredita mis conocimientos en el desarrollo de aplicaciones en -- cgit v1.3