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, +}; +--- + + + diff --git a/src/layouts/HomePageLayout.astro b/src/layouts/HomePageLayout.astro new file mode 100644 index 0000000..146eaec --- /dev/null +++ b/src/layouts/HomePageLayout.astro @@ -0,0 +1,62 @@ +--- +import { getCollection } from "astro:content"; +import Layout from "./Layout.astro"; +import { useTranslations } from "../i18n"; + +const blogCollection = (await getCollection("blog")).sort((a, b) => { + return b.data.publishedAt.getTime() - a.data.publishedAt.getTime(); +}); + +const t = useTranslations(Astro.currentLocale); + +const schema = { + "@context": "http://schema.org", + "@type": "WebSite", + id: "https://www.costas.dev/", + url: "https://www.costas.dev/", + headline: t.homePage.title, +}; +--- + + + + +

{t.portfolioPage.headline}

+ +

+ +

{t.portfolioPage.freelanceTitle}

+ +

{t.portfolioPage.freelanceDesc}

+ +
+
+

{t.portfolioPage.orderExtractorTitle}

+ +

+ + + +

+ +
+

{t.portfolioPage.touristInfoTitle}

+ +

+ + + +

+ +
+

{t.portfolioPage.wpConsultingTitle}

+ +

+ + +

+
+ +

{t.portfolioPage.ownProjectsTitle}

+ +

{t.portfolioPage.ownProjectsDesc}

+ +
+
+

{t.portfolioPage.personalWebTitle}

+ +

{t.portfolioPage.personalWebDesc}

+ + + +
+ +
+

{t.portfolioPage.mientrenoTitle}

+ +

+ + + + + +

+ +
+

{t.portfolioPage.vigo360Title}

+ +

+ + + + +

+
+
+ + \ No newline at end of file diff --git a/src/layouts/TrajectoryPageLayout.astro b/src/layouts/TrajectoryPageLayout.astro new file mode 100644 index 0000000..1739a32 --- /dev/null +++ b/src/layouts/TrajectoryPageLayout.astro @@ -0,0 +1,81 @@ +--- +import { useTranslations } from "../i18n"; +import Layout from "./Layout.astro"; + +const t = useTranslations(Astro.currentLocale); + +const schema = { + "@context": "https://schema.org", + "@type": "WebPage", + url: "https://www.costas.dev/trajectory", + headline: t.trajectoryPage.headline, +}; +--- + + +