Skip to content

Commit 43de01b

Browse files
Enhance About and Blog pages with BackgroundDots component; update metadata and image references
1 parent 77c691a commit 43de01b

8 files changed

Lines changed: 73 additions & 27 deletions

File tree

app/[locale]/about/page.js

Lines changed: 58 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import {
1111
} from "../../ui/lugs";
1212
import Image from "next/image";
1313
import ShowPath from "../../components/showPath";
14+
import { FaSquareXTwitter } from "react-icons/fa6";
15+
1416
import { getTranslations, setRequestLocale } from "next-intl/server";
17+
import BackgroundDots from "@/app/components/BgMovingDots";
1518

1619
export default async function About({ params }) {
1720
const { locale } = await params;
@@ -21,6 +24,7 @@ export default async function About({ params }) {
2124
return (
2225
<Layout>
2326
<MainBg>
27+
<BackgroundDots numDots={90} />
2428
<AboutWrapper>
2529
<ShowPath title={""} />
2630
<AboutMePanel>
@@ -34,7 +38,8 @@ export default async function About({ params }) {
3438
>
3539
<Image
3640
src={
37-
"https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732922346/elCronopio/owsftbzp6mn5iuvkogrl.jpg"
41+
"https://res.cloudinary.com/dcvnw6hvt/image/upload/v1765059827/elCronopio/pots-12_h4swi6.jpg"
42+
// "https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732922346/elCronopio/owsftbzp6mn5iuvkogrl.jpg"
3843
}
3944
alt={"A portrait photos of Eric Lucero"} // Texto alternativo
4045
width={150} // Ancho de la imagen
@@ -101,32 +106,62 @@ export default async function About({ params }) {
101106
</svg>{" "}
102107
Email
103108
</IconLink>
109+
<IconLink
110+
href="https://x.com/EricLuceroG"
111+
target="_blank"
112+
rel="noopener noreferrer"
113+
>
114+
<FaSquareXTwitter />
115+
Twitter / X
116+
</IconLink>
104117
</LinkList>
105118
</AboutWrapper>
106119
</MainBg>
107120
</Layout>
108121
);
109122
}
110123

111-
// export const metadata = {
112-
// title: "Acerca de mi",
113-
// openGraph: {
114-
// title: "Acerca de mi...",
115-
// description: "Explora temas de IA, programación y documentos en LaTeX.",
116-
// images: [
117-
// {
118-
// url: "https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732970163/elCronopio/elcronopio_eewxj0.png", // Imagen temática de LaTeX
119-
// width: 1200,
120-
// height: 630,
121-
// alt: "IA, Tutoriales y tips de LaTeX",
122-
// },
123-
// ],
124-
// },
125-
// twitter: {
126-
// card: "summary_large_image",
127-
// title: "ElCronopio.com: Inteligencia Artificial, LaTeX y más",
128-
// description: "Explora temas de IA, programación y documentos en LaTeX.",
129-
// image:
130-
// "https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732970163/elCronopio/elcronopio_eewxj0.png",
131-
// },
132-
// };
124+
export async function generateMetadata({ params }) {
125+
const { locale } = await params;
126+
127+
// Obtenemos las traducciones del servidor para la sección "Metadata"
128+
const t = await getTranslations({ locale, namespace: "About" });
129+
const URLbase = "https://ericlucerogonzalez.github.io";
130+
131+
return {
132+
title: t("title"),
133+
description: t("description"),
134+
keywords: t("keywords"),
135+
// Configuración vital para SEO Multilingüe
136+
alternates: {
137+
canonical: `${URLbase}/${locale}`,
138+
languages: {
139+
es: `${URLbase}/es`,
140+
en: `${URLbase}/en`,
141+
},
142+
},
143+
openGraph: {
144+
title: t("title"),
145+
description: t("description"),
146+
url: `${URLbase}/${locale}`, // URL canónica para compartir
147+
siteName: "Eric Lucero González",
148+
images: [
149+
{
150+
url: "https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732970163/elCronopio/elcronopio_eewxj0.png",
151+
width: 1200,
152+
height: 630,
153+
alt: t("description"), // Texto alternativo traducido
154+
},
155+
],
156+
locale: locale,
157+
type: "website",
158+
},
159+
twitter: {
160+
card: "summary_large_image",
161+
title: t("title"),
162+
description: t("description"),
163+
image:
164+
"https://res.cloudinary.com/dcvnw6hvt/image/upload/v1732970163/elCronopio/elcronopio_eewxj0.png",
165+
},
166+
};
167+
}

app/[locale]/blog/page.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
import ShowPath from "../../components/showPath";
1717
import ScrollDiv from "../../components/navigation/ScrollDiv";
1818
import { setRequestLocale } from "next-intl/server";
19+
import BackgroundDots from "@/app/components/BgMovingDots";
1920

2021
const BlogPage = async ({ params }) => {
2122
// 1. Obtener idioma
@@ -30,6 +31,7 @@ const BlogPage = async ({ params }) => {
3031
<Layout>
3132
<PageContainer>
3233
<ScrollDiv />
34+
<BackgroundDots numDots={90} />
3335
<MainPageBg>
3436
<ShowPath title={""} />
3537
<TitlePage>¡Bienvenido al Blog!</TitlePage>

app/[locale]/page.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515
} from "../ui/MarkDownComponents";
1616
import ScrollDiv from "../components/navigation/ScrollDiv";
1717
import { getAllPosts } from "../lib/api";
18-
import MovingDots from "../components/Canvas/MovingDots";
1918
import { getTranslations, setRequestLocale } from "next-intl/server";
2019
import BackgroundDots from "../components/BgMovingDots";
2120
export default async function Home({ params }) {
@@ -26,7 +25,7 @@ export default async function Home({ params }) {
2625
return (
2726
<PageContainer>
2827
<ScrollDiv />
29-
<BackgroundDots numDots={60} />
28+
<BackgroundDots numDots={90} />
3029
<MainPageBg>
3130
<HomePageCover>
3231
<HomePageCoverText>

app/components/navigation/navbar/navCompos.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export const NavigationBar = styled.div`
99
export const Bar = styled.nav`
1010
font-size: 14px;
1111
background-color: var(--bg);
12+
z-index: 1000;
1213
border: 1px solid rgba(0, 0, 0, 0.2);
1314
padding: 5px 20px;
1415
display: flex;
@@ -28,6 +29,8 @@ export const MainNav = styled.div`
2829
@media (max-width: 768px) {
2930
width: 100%;
3031
}
32+
background-color: var(--bg);
33+
z-index: 1000;
3134
`;
3235

3336
export const MainNavLogo = styled.div`
@@ -41,6 +44,8 @@ export const MainNavLogo = styled.div`
4144
@media (max-width: 768px) {
4245
display: none;
4346
}
47+
background-color: var(--bg);
48+
z-index: 1000;
4449
`;
4550
export const NavLogo = styled.h1`
4651
align-items: center;

app/ui/CardsElements.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export const GridContainer = styled(motion.div)`
6666
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
6767
border: 1px solid var(--gray-light);
6868
width: 100%;
69+
z-index: 1;
6970
@media (min-width: 660px) {
7071
/* TODO: Style of blog posts and inner post */
7172
width: 100%;

app/ui/lugs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,9 @@ export const LinkList = styled.div`
197197
margin: 5rem auto 1rem auto;
198198
padding: 1px 10%;
199199
@media (min-width: 660px) {
200-
font-size: x-large;
201-
/* border: 1px solid red; */
200+
font-size: large;
202201
}
202+
/* border: 1px solid red; */
203203
justify-content: space-around;
204204
`;
205205

messages/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
"About": {
2525
"title": "About Me",
2626
"content": "I am Eric Lucero González, a PhD student specializing in Artificial Intelligence. This blog serves as a platform to share my research, insights, and developments in the field of AI.",
27+
"description": "Personal blog on AI, optimization and LaTeX.",
28+
"keywords": "IA, Doctorado, LaTeX, Algoritmos, España",
2729
"license_title": "Content License",
2830
"license_terms": "All content on this blog is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). You are free to share and adapt the material as long as you provide appropriate credit, do not use it for commercial purposes, and indicate if changes were made.",
2931
"page_content_title": "About this Page",

messages/es.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
"About": {
2727
"title": "Acerca de mí",
2828
"content": "Soy Eric Lucero González, un estudiante de doctorado especializado en Inteligencia Artificial. Este blog sirve como una plataforma para compartir mi investigación, ideas y desarrollos en el campo de la IA. Actualmente estoy realizando un doctorado en Inteligencia Artificial en la Universidad Politécnica de Madrid. Mis intereses incluyen algoritmos de optimización, meta-heurísticas y LaTeX. Disfruto compartiendo conocimiento y aprendiendo a través de la escritura.",
29+
"description": "Blog personal sobre Inteligencia Artificial, Algoritmos y LaTeX.",
30+
"keywords": "IA, Doctorado, LaTeX, Algoritmos, España",
2931
"license_title": "Licencia de Contenido",
3032
"license_terms": "Todo el contenido de este blog está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0). Eres libre de compartir y adaptar el material siempre que proporciones el crédito adecuado, no lo uses con fines comerciales e indiques si se realizaron cambios.",
3133
"page_content_title": "Acerca de esta Página",

0 commit comments

Comments
 (0)