From e3c4bb2efa513973bc26949a8be62fbe66e31a4f Mon Sep 17 00:00:00 2001
From: Ariel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>
Date: Fri, 14 Mar 2025 23:33:56 +0100
Subject: Implement new page layouts for Home, Contact, Portfolio, and
Trajectory; update header and footer for multilingual support
---
src/layouts/ContactPageLayout.astro | 99 +++++++++++++++++++++++++++++
src/layouts/HomePageLayout.astro | 62 ++++++++++++++++++
src/layouts/Layout.astro | 28 +++++---
src/layouts/PortfolioPageLayout.astro | 113 +++++++++++++++++++++++++++++++++
src/layouts/TrajectoryPageLayout.astro | 81 +++++++++++++++++++++++
5 files changed, 375 insertions(+), 8 deletions(-)
create mode 100644 src/layouts/ContactPageLayout.astro
create mode 100644 src/layouts/HomePageLayout.astro
create mode 100644 src/layouts/PortfolioPageLayout.astro
create mode 100644 src/layouts/TrajectoryPageLayout.astro
(limited to 'src/layouts')
diff --git a/src/layouts/ContactPageLayout.astro b/src/layouts/ContactPageLayout.astro
new file mode 100644
index 0000000..3b3c278
--- /dev/null
+++ b/src/layouts/ContactPageLayout.astro
@@ -0,0 +1,99 @@
+---
+import { useTranslations } from "../i18n";
+import Layout from "./Layout.astro";
+
+const t = useTranslations(Astro.currentLocale);
+
+const schema = {
+ "@context": "https://schema.org",
+ "@type": "ContactPage",
+ url: "https://www.costas.dev/contact",
+ headline: t.contactPage.headline,
+};
+---
+
+ {t.contactPage.socialMedia} {t.homePage.welcome} {t.homePage.whoAmIDesc} {t.homePage.whatIDoDesc}{t.contactPage.headline}
+
+
+
+
+
+
+
+{t.homePage.title}
+ {t.homePage.whoAmI}
+ {t.homePage.whatIDo}
+ {t.homePage.latestBlogPosts}
+
+ {
+ blogCollection.slice(0, 5).map((p) => {
+ const date = Intl.DateTimeFormat(Astro.currentLocale, {
+ day: "2-digit",
+ month: "short",
+ year: "numeric",
+ }).format(p.data.publishedAt);
+ return (
+
+ {t.homePage.viewAllPosts}
+
+
{t.trajectoryPage.intro}
+ +{t.trajectoryPage.techDescription1}
+ +{t.trajectoryPage.techDescription2}
+ +{t.trajectoryPage.estelaria2}
+ +{t.trajectoryPage.estelaria3}
+ +{t.trajectoryPage.polygon2}
+ +