diff --git a/app/about/page.tsx b/app/about/page.tsx index bfd84d4..adf8a6a 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,4 +1,29 @@ -import React from 'react' +import React from 'react'; +import { Metadata } from "next"; + +export const metadata: Metadata = { + title: "About", + description: "Learn more about Djoufson Che Bene, a passionate Full Stack Developer and Software Engineer. Discover my background, experience, skills in React, Next.js, .NET, and journey in software development.", + keywords: [ + "About Djoufson", + "Software Engineer Background", + "Full Stack Developer Experience", + "Professional Profile", + "Career Journey", + "Technical Skills", + "Software Development Experience" + ], + openGraph: { + title: "About | Djoufson Che Bene", + description: "Learn more about Djoufson Che Bene, a passionate Full Stack Developer and Software Engineer.", + url: "https://djoufson.com/about", + type: "profile", + }, + twitter: { + title: "About | Djoufson Che Bene", + description: "Learn more about Djoufson Che Bene, a passionate Full Stack Developer and Software Engineer.", + }, +}; export default function About() { return ( diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 7ebedcd..8916bcb 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -35,5 +35,29 @@ export default async function BlogPage() { export const metadata = { title: "Blog", - description: "Read the latest blog posts and articles.", + description: "Technical blog posts about software development, web technologies, .NET, React, TypeScript, and programming best practices. Learn from real-world experiences and tutorials.", + keywords: [ + "Technical Blog", + "Software Development", + "Programming Tutorials", + "Web Development", + "React", + "Next.js", + ".NET", + "C#", + "TypeScript", + "JavaScript", + "Entity Framework", + "Best Practices" + ], + openGraph: { + title: "Technical Blog | Djoufson Che Bene", + description: "Technical blog posts about software development, web technologies, and programming best practices.", + url: "https://djoufson.com/blog", + type: "website", + }, + twitter: { + title: "Technical Blog | Djoufson Che Bene", + description: "Technical blog posts about software development, web technologies, and programming best practices.", + }, }; diff --git a/app/globals.css b/app/globals.css index 7c684c5..49ddade 100644 --- a/app/globals.css +++ b/app/globals.css @@ -105,7 +105,21 @@ } .prose a { - @apply text-blue-600 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300 transition-colors; + color: #089cd8; + text-decoration: underline; + transition: color 0.2s ease-in-out; +} + +.prose a:hover { + color: #067ba3; +} + +.dark .prose a { + color: #4db3e6; +} + +.dark .prose a:hover { + color: #089cd8; } .prose ul { @@ -164,7 +178,40 @@ } .link { - @apply text-blue-500 hover:text-blue-700; + color: var(--custom-blue); + transition: color 0.2s ease-in-out; +} + +.link:hover { + color: var(--custom-blue-hover); +} + +/* Custom blue link classes */ +.custom-blue-link { + color: var(--custom-blue); + transition: color 0.2s ease-in-out; +} + +.custom-blue-link:hover { + color: var(--custom-blue-hover); +} + +.custom-blue-link-active { + color: var(--custom-blue); +} + +.dark .custom-blue-link-active { + color: var(--custom-blue-light); +} + +/* Project card hover effects */ +.project-card-border { + border-color: var(--border); + transition: border-color 0.2s ease-in-out; +} + +.project-card-border:hover { + border-color: var(--custom-blue); } @layer components { @@ -254,6 +301,11 @@ --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --sidebar-ring: oklch(0.708 0 0); + + /* Custom blue theme colors */ + --custom-blue: #089cd8; + --custom-blue-hover: #067ba3; + --custom-blue-light: #4db3e6; } .dark { diff --git a/app/layout.tsx b/app/layout.tsx index 1ea45bc..c82c260 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,10 +6,76 @@ import GoogleAnalytics from "@/components/google/GoogleAnalytics"; import GoogleAdSense from "@/components/google/GoogleAdSense"; import BackToTop from "@/components/BackToTop"; import { ThemeProvider } from "@/components/theme-provider"; +import StructuredData from "@/components/StructuredData"; export const metadata: Metadata = { - title: "Djoufson's Amazing World 🌍", - description: "Generated by create next app", + metadataBase: new URL('https://djoufson.com'), + title: { + default: "Djoufson Che Bene - Full Stack Developer & Software Engineer", + template: "%s | Djoufson Che Bene" + }, + description: "Full Stack Developer and Software Engineer passionate about building modern web applications with React, Next.js, .NET, and cloud technologies. Explore my projects, read my technical blog, and connect with me.", + keywords: [ + "Full Stack Developer", + "Software Engineer", + "React", + "Next.js", + "TypeScript", + "JavaScript", + ".NET", + "C#", + "Node.js", + "Web Development", + "Frontend Development", + "Backend Development", + "Cloud Computing", + "Technical Blog", + "Portfolio", + "Djoufson", + "Che Bene" + ], + authors: [{ name: "Djoufson Che Bene" }], + creator: "Djoufson Che Bene", + publisher: "Djoufson Che Bene", + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + 'max-video-preview': -1, + 'max-image-preview': 'large', + 'max-snippet': -1, + }, + }, + openGraph: { + type: 'website', + locale: 'en_US', + url: 'https://djoufson.com', + siteName: 'Djoufson Che Bene - Full Stack Developer', + title: 'Djoufson Che Bene - Full Stack Developer & Software Engineer', + description: 'Full Stack Developer and Software Engineer passionate about building modern web applications. Explore my projects, read my technical blog, and connect with me.', + images: [ + { + url: '/assets/djouf.png', + width: 1200, + height: 630, + alt: 'Djoufson Che Bene - Full Stack Developer', + } + ], + }, + twitter: { + card: 'summary_large_image', + title: 'Djoufson Che Bene - Full Stack Developer & Software Engineer', + description: 'Full Stack Developer and Software Engineer passionate about building modern web applications. Explore my projects, read my technical blog, and connect with me.', + site: '@djouf_legran', + creator: '@djouf_legran', + images: ['/assets/djouf.png'], + }, + verification: { + google: process.env.GOOGLE_SITE_VERIFICATION, + }, + category: 'technology', }; export default function RootLayout({ @@ -22,6 +88,7 @@ export default function RootLayout({