From 7c874c7aba49e68688a55d35286343e37aa572f8 Mon Sep 17 00:00:00 2001 From: Cristhian Melo Date: Sat, 16 Nov 2024 18:12:44 -0500 Subject: [PATCH] refactor(*): restructure info and change hero section --- bun.lockb | Bin 336940 -> 350043 bytes package.json | 10 ++--- public/subline.webp | Bin 536 -> 0 bytes src/components/AboutMe.astro | 32 ++++++++------- src/components/Header.astro | 4 -- src/components/Hero.astro | 71 ---------------------------------- src/components/Projects.astro | 6 +-- src/components/Section.astro | 2 +- src/components/Tech.astro | 15 ++++--- src/components/Works.astro | 15 ------- src/data/index.ts | 1 - src/data/personal-projects.ts | 60 ---------------------------- src/i18n/ui.ts | 34 +++++----------- src/pages/[lang]/index.astro | 12 ++---- src/pages/index.astro | 12 ++---- 15 files changed, 49 insertions(+), 225 deletions(-) delete mode 100644 public/subline.webp delete mode 100644 src/components/Hero.astro delete mode 100644 src/components/Works.astro delete mode 100644 src/data/personal-projects.ts diff --git a/bun.lockb b/bun.lockb index 457e19dad6b704a00b58a266308916ceb1ce9911..f1102d38033441fe09df2619340e9ef61223a09a 100755 GIT binary patch delta 35216 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 delta 28283 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 Jv7)8o{{UbMI4b}E diff --git a/package.json b/package.json index a8e064b..11e2247 100644 --- a/package.json +++ b/package.json @@ -13,12 +13,12 @@ "phoenix": "rm ./node_modules/ -rf && rm ./bun.lockb && ni" }, "dependencies": { - "@astrojs/mdx": "^2.1.0", + "@astrojs/mdx": "3.1.9", "@astrojs/preact": "^3.5.3", - "@astrojs/rss": "^4.0.4", - "@astrojs/tailwind": "^5.1.0", + "@astrojs/rss": "4.0.9", + "@astrojs/tailwind": "5.1.2", "@vercel/og": "^0.6.2", - "astro": "^4.16.5", + "astro": "4.16.13", "astro-expressive-code": "^0.32.2", "astro-robots-txt": "^1.0.0", "date-fns": "^3.2.0", @@ -27,7 +27,7 @@ "tailwindcss": "^3.4.0" }, "devDependencies": { - "@astrojs/sitemap": "1.2.1", + "@astrojs/sitemap": "3.2.1", "@inquirer/confirm": "2.0.17", "@inquirer/input": "1.2.16", "@tailwindcss/typography": "^0.5.10", diff --git a/public/subline.webp b/public/subline.webp deleted file mode 100644 index e1271c8b514a07b65aed994f5530dfd6a904f914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XiwNk&Ex0ssJ4MM6+kP&iBj0ssInufPQm@1US<8!3B_((>g@%H*jhx&7 za8RB5|w+hkLA|Drwwk!&-&61WIo5~>K`uN&HgI!HwtRVEO!4VKyoA_xLe0*;YH zNQ9`JdrI7lzPJA~K(+v&aof09s1~_2o2e3t{{KH?i)}jg9MOM8Zre6B(9=pCb$wx( zTkjYFRzwtA%h5;Kd%v?L?=x9}S*-ySOXPPBKh5Q5Dlwrr@_+OuFuz`RBHENn@Du=~ zs0h9vzt8e(iZmt^%BnqqU$j|7NU^kVcSV=E3ixTu=;K-16@S8U-vl9+X0Wc}Gp*m zv&wls3gqT?)Gxf{pEa6&-0N~K<+R8`}OkiBHFAV0zho2vfM6L a^2n!LOkfc4tnedqy3!Y%D5fm`Q!M~9PXk{7 diff --git a/src/components/AboutMe.astro b/src/components/AboutMe.astro index ea5239f..448f2b7 100644 --- a/src/components/AboutMe.astro +++ b/src/components/AboutMe.astro @@ -1,17 +1,27 @@ --- -import { SOCIALS } from '@/constants/routes' -import Section from './Section.astro' import { getLangFromUrl, useTranslations } from '@/i18n/utils' const lang = getLangFromUrl(Astro.url) const t = useTranslations(lang) --- -
+
+ + + + puede ser una foto de Cristhian Melo + +

{t('hero.p1')}

+

+ {t('hero.p2')} +

-
+
diff --git a/src/components/Header.astro b/src/components/Header.astro index 2c32351..dcc715f 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -17,10 +17,6 @@ const ROUTES = { path: `${path}/#portfolio`, name: t('nav.portfolio') }, - aboutMe: { - path: `${path}/#about-me`, - name: t('nav.about') - }, blog: { path: `/${lang || ''}/blog`, name: 'Blog' diff --git a/src/components/Hero.astro b/src/components/Hero.astro deleted file mode 100644 index e450b8c..0000000 --- a/src/components/Hero.astro +++ /dev/null @@ -1,71 +0,0 @@ ---- -import { getLangFromUrl, useTranslations } from '@/i18n/utils' - -const lang = getLangFromUrl(Astro.url) -const t = useTranslations(lang) ---- - -
-
-
- - - - puede ser una foto de Cristhian Melo - - - @rxtsel -
- -

- {t('hero.p1')} -

- - - {t('hero.p2')} - - -

- {t('hero.p3')} - {t('hero.p3.0')} -

- -

- {t('hero.p4')} -

-
-
- - diff --git a/src/components/Projects.astro b/src/components/Projects.astro index 7af11a6..00905b7 100644 --- a/src/components/Projects.astro +++ b/src/components/Projects.astro @@ -1,15 +1,15 @@ --- import Section from '@/components/Section.astro' import ProjectCard from '@/components/ProjectCard.astro' -import { personalProjects } from '@/data' +import { projects } from '@/data' import { getLangFromUrl, useTranslations } from '@/i18n/utils' const lang = getLangFromUrl(Astro.url) const t = useTranslations(lang) --- -
+
- {personalProjects.map((project) => )} + {projects.sort().map((work) => )}
diff --git a/src/components/Section.astro b/src/components/Section.astro index 4c16bdc..f3b18e0 100644 --- a/src/components/Section.astro +++ b/src/components/Section.astro @@ -9,7 +9,7 @@ const { title, id, container } = Astro.props ---
diff --git a/src/components/Tech.astro b/src/components/Tech.astro index 21ee76d..bdd5033 100644 --- a/src/components/Tech.astro +++ b/src/components/Tech.astro @@ -58,19 +58,18 @@ const techs: iTechnology[] = [ name: 'Linux', Icon: IconColor.linux, className: 'h-full' - }, - ] + } +] ---
{ - techs - .map(({ name, Icon, className }: iTechnology) => ( - - - - )) + techs.map(({ name, Icon, className }: iTechnology) => ( + + + + )) }
diff --git a/src/components/Works.astro b/src/components/Works.astro deleted file mode 100644 index 6f41286..0000000 --- a/src/components/Works.astro +++ /dev/null @@ -1,15 +0,0 @@ ---- -import Section from '@/components/Section.astro' -import ProjectCard from '@/components/ProjectCard.astro' -import { projects } from '@/data' -import { getLangFromUrl, useTranslations } from '@/i18n/utils' - -const lang = getLangFromUrl(Astro.url) -const t = useTranslations(lang) ---- - -
-
- {projects.sort().map((work) => )} -
-
diff --git a/src/data/index.ts b/src/data/index.ts index 6acc82d..94716c0 100644 --- a/src/data/index.ts +++ b/src/data/index.ts @@ -1,2 +1 @@ export * from './projects' -export * from './personal-projects' diff --git a/src/data/personal-projects.ts b/src/data/personal-projects.ts deleted file mode 100644 index 7b6a4a1..0000000 --- a/src/data/personal-projects.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { iProject } from '@/types/project' - -export const personalProjects: iProject[] = [ - { - title: 'Corrector Ortográfico IA', - titleEn: 'AI Spelling Checker', - description: 'App para corregir errores ortográficos usando IA.', - descriptionEn: 'App to correct spelling mistakes using AI.', - url: 'https://spell-check-ai.vercel.app/', - gh: 'https://github.com/rxtsel/spell-check-ai', - technologies: ['Astro', 'Open IA', 'Tailwind CSS'] - }, - { - title: 'Cotizador de servicios', - titleEn: 'Service Quoter', - description: - 'Diseñado para simplificar y agilizar el proceso de obtener cotizaciones.', - descriptionEn: - 'Designed to simplify and streamline the process of getting quotes.', - url: 'https://quoter.vehement.co/', - technologies: ['Next.js', 'TypeScript', 'Tailwind CSS', 'Strapi'] - }, - { - title: "Gold's Gym", - description: 'Diseño y desarrollo de landing page para gymnasio.', - descriptionEn: 'Design and development of landing page for gym.', - url: 'https://rxtsel.github.io/gold-s-gym/', - gh: 'https://github.com/rxtsel/gold-s-gym', - technologies: ['Figma', 'Astro', 'CSS'] - }, - { - title: 'BioLinks', - description: - 'Mi alternativa a linktree para mostrar enlaces en la biografías de las redes sociales.', - descriptionEn: - 'My alternative to linktree to show links in social media biographies.', - url: 'https://links.rxtsel.dev/', - gh: 'https://github.com/rxtsel/biolink', - technologies: ['HTML', 'CSS', 'JavaScript'] - }, - { - title: 'LCA Desktop App', - description: - 'Software de medición de la calidad del agua. Proyecto mintic 2022.', - descriptionEn: 'Water quality measurement software. Mintic 2022 project.', - url: 'https://github.com/rxtsel/LCA/releases/tag/v.0.0.1', - gh: 'https://github.com/rxtsel/LCA/tree/reto-4', - technologies: ['Java', 'SQLite'] - }, - { - title: 'Administrador de gastos', - titleEn: 'Expense Manager', - description: - 'App web para gestionar y llevar el control de nuestro dinero.', - descriptionEn: 'Web app to manage and keep track of our money.', - url: 'https://expense-manager-react.netlify.app/', - gh: 'https://github.com/rxtsel/Expense-control-react', - technologies: ['React', 'CSS'] - } -] diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts index 3e04a99..53d524a 100644 --- a/src/i18n/ui.ts +++ b/src/i18n/ui.ts @@ -7,18 +7,17 @@ export const ui = { 'desarrollador web, diseñador web, colombia, html, css, javascript, diseño responsivo, frameworks, adobe creative suite, experiencia de usuario (ux), optimización de motores de búsqueda (seo), wordpress, ecommerce, desarrollo de aplicaciones web, desarrollo móvil, tecnologías web emergentes, cristhian melo, rxtsel, rxtsel.dev, programador, frontend, frontend developer, web dev', 'messages.ghPrivate': 'Repositorio Privado', - 'messages.latestWorks': 'Últimos trabajos', - 'messages.featuredProjects': 'Proyectos destacados', 'messages.latestPosts': 'Últimas publicaciones', 'single.repository': 'Repositorio', 'single.languages': 'Lenguajes', 'single.contact': 'Contacto', 'single.experience': 'Experiencia', - 'single.techs': 'Tecnologías', + 'single.techs': 'Stack', 'single.contactMe': 'Contáctame', 'single.by': 'por', 'single.remote': 'Remoto', + 'single.projects': 'Proyectos', 'lang.es': 'Español', 'lang.us': 'Inglés', @@ -29,11 +28,7 @@ export const ui = { 'nav.blog': 'Blog', 'hero.p1': 'Hola, Soy Cristhian', - 'hero.p2': 'Desarrollador de Software', - 'hero.p3': 'Apasionado por crear productos digitales', - 'hero.p3.0': 'increíbles.', - 'hero.p4': - 'Estudiante de Ingeniería de Software con más de 2 años de experiencia como desarrollador web. Apasionado por el diseño y la innovación.', + 'hero.p2': 'Desarrollador de software con 3+ años de experiencia.', 'experiense.vsdlrs': 'Desarrollador de E-commerce, plantillas de email marketing, SEO y landing pages. Mejora del 70% en Core Web Vitals. Apasionado por la creación de experiencias web excepcionales y orientadas al rendimiento.', @@ -42,16 +37,14 @@ export const ui = { 'experiense.SoundAdvice': 'Soluciones de desarrollo para la industria de la música utilizando tecnologías avanzadas. En mi rol, he mejorado la agilidad en el desarrollo implementando técnicas modernas, realizando diseños de bases de datos, análisis, diagramas UML y ERD, escribiendo documentación y actualizando proyectos obsoletos a nuevas tecnologías.', - 'about.p1': 'Me encanta crear algo simple y limpio', 'about.p2': - 'Desde niño me ha gustado el mundo de la tecnología. Actualmente desempeño el rol de Desarrollador Web. He trabajado cómo profesional independiente para empresas en', + 'Actualmente desempeño el rol de desarrollador fullstack. He trabajado cómo profesional independiente para empresas en', 'about.countries': 'Europa, Estados Unidos, Canadá, Colombia, Argentina y México.', 'about.p3': 'Vivo en Colombia, donde disfruto de buena comida y paisajes increíbles. Me gusta explorar diseños minimalistas que prioricen la funcionalidad.', - 'about.p4': 'También estoy activo en', 'about.p5': - 'y si tienes alguna pregunta no dudes en mencionarme, estoy seguro de que será una charla interesante.', + 'Si tienes alguna pregunta o proyecto en mente, no dudes en contactarme, estoy seguro de que será una charla interesante.', 'notFound.p1': 'Parece que te has perdido', 'notFound.p2': 'El recurso que buscas no está disponible o no existe.', @@ -69,18 +62,17 @@ export const ui = { 'web developer, web designer, colombia, html, css, javascript, responsive design, frameworks, adobe creative suite, user experience (ux), search engine optimization (seo), wordpress, ecommerce, web application development, mobile development, emerging web technologies, cristhian melo, rxtsel, rxtsel.dev, programmer, frontend, frontend developer, web dev', 'messages.ghPrivate': 'Private Repository', - 'messages.latestWorks': 'Latest Works', - 'messages.featuredProjects': 'Featured Projects', 'messages.latestPosts': 'Latest Posts', 'single.repository': 'Repository', 'single.languages': 'Languages', 'single.contact': 'Contact', 'single.experience': 'Experience', - 'single.techs': 'Technologies', + 'single.techs': 'Stack', 'single.contactMe': 'Contact Me', 'single.by': 'by', 'single.remote': 'Remote', + 'single.projects': 'Projects', 'lang.es': 'Spanish', 'lang.us': 'English', @@ -91,11 +83,7 @@ export const ui = { 'nav.blog': 'Blog', 'hero.p1': 'Hi, I’m Cristhian', - 'hero.p2': 'Software Developer', - 'hero.p3': 'Passionate about creating digital products', - 'hero.p3.0': 'amazing.', - 'hero.p4': - 'Software Engineering student with over 2 years of experience as a web developer. Passionate about design and innovation.', + 'hero.p2': 'Software developer with 3+ years of experience.', 'experiense.vsdlrs': 'E-commerce developer, email marketing templates, SEO, and landing pages. 70% improvement in Core Web Vitals. Passionate about creating exceptional web experiences and performance-oriented.', @@ -104,17 +92,15 @@ export const ui = { 'experiense.SoundAdvice': 'Development solutions for the music industry using advanced technologies. In my role, I have improved development agility by implementing modern techniques, designing databases, conducting analysis, creating UML and ERD diagrams, writing documentation, and updating outdated projects to new technologies.', - 'about.p1': 'I love creating something simple and clean', 'about.p2': - "Since I was a child, I've been interested in the world of technology. I currently work as a Web Developer. I have worked as a freelancer for companies in", + 'I currently work as a fullstack developer. I have worked as a freelancer for companies in', 'about.countries': 'Europe, the United States, Canada, Colombia, Argentina and Mexico.', 'about.p3': 'I live in Colombia, where I enjoy good food and incredible landscapes. I like to explore minimalist designs that prioritize functionality.', - 'about.p4': 'I am also active on', 'about.p5': - 'and if you have any questions, feel free to mention me, I am sure it will be an interesting chat.', + "If you have any questions or projects in mind, feel free to contact me; I'm sure it will be an interesting conversation.", 'notFound.p1': 'It seems you are lost', 'notFound.p2': diff --git a/src/pages/[lang]/index.astro b/src/pages/[lang]/index.astro index 744f869..05632bb 100644 --- a/src/pages/[lang]/index.astro +++ b/src/pages/[lang]/index.astro @@ -2,14 +2,11 @@ import { LANGUAGES, useTranslations } from '@/i18n/utils' import Layout from '@/layouts/Layout.astro' import Header from '@/components/Header.astro' -import Hero from '@/components/Hero.astro' import Experience from '@/components/Experience.astro' -import Works from '@/components/Works.astro' import Projects from '@/components/Projects.astro' import LatestPosts from '@/components/LatestPosts.astro' import Tech from '@/components/Tech.astro' import AboutMe from '@/components/AboutMe.astro' -import Contact from '@/components/Contact.astro' import Footer from '@/components/Footer.astro' const { lang } = Astro.params @@ -39,15 +36,12 @@ const fallbackHomeEs = () => { >
- - - + - + +
- -