diff options
Diffstat (limited to 'src/layouts')
| -rw-r--r-- | src/layouts/ContactPageLayout.astro | 25 | ||||
| -rw-r--r-- | src/layouts/GeoblockedPageLayout.astro | 45 | ||||
| -rw-r--r-- | src/layouts/HomePageLayout.astro | 38 | ||||
| -rw-r--r-- | src/layouts/Layout.astro | 25 | ||||
| -rw-r--r-- | src/layouts/PortfolioPageLayout.astro | 5 | ||||
| -rw-r--r-- | src/layouts/TrajectoryPageLayout.astro | 4 |
6 files changed, 91 insertions, 51 deletions
diff --git a/src/layouts/ContactPageLayout.astro b/src/layouts/ContactPageLayout.astro index c09969f..3a02293 100644 --- a/src/layouts/ContactPageLayout.astro +++ b/src/layouts/ContactPageLayout.astro @@ -1,18 +1,18 @@ --- -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, + headline: "Contacta conmigo", }; --- -<Layout title={t.contactPage.title} description={t.contactPage.description}> +<Layout + title="Contacto" + description="Las formas de ponerte en contacto conmigo, ya sea por correo electrónico, teléfono o redes sociales." +> <script is:inline type="application/ld+json" @@ -20,17 +20,24 @@ const schema = { set:html={JSON.stringify(schema)} /> - <h1>{t.contactPage.headline}</h1> + <h1>"Contacta conmigo"</h1> <noscript> <div role="alert" class="warning"> - {t.contactPage.enableJs} + Es necesario activar JavaScript para ver la dirección de correo + electrónico y el número de teléfono. Esto se hace para evitar scrapers y + spam. </div> </noscript> - <p set:html={t.contactPage.intro} /> + <p> + La forma más sencilla de contactar conmigo es a través de mi dirección de + correo electrónico: <a href="#" id="email-addr">Activa JS</a>. También + puedes usar <a href="https://wa.me/message/W7T7L4EZAELQI1">WhatsApp</a> con el + número de teléfono <a href="#" id="phone-number">Activa JS</a>. + </p> - <p>{t.contactPage.socialMedia}</p> + <p>También puedes encontrarme en algunas redes sociales:</p> <dl> <dt>GitHub</dt> diff --git a/src/layouts/GeoblockedPageLayout.astro b/src/layouts/GeoblockedPageLayout.astro new file mode 100644 index 0000000..58c78b5 --- /dev/null +++ b/src/layouts/GeoblockedPageLayout.astro @@ -0,0 +1,45 @@ +--- +import Layout from "./Layout.astro"; +--- + +<Layout + title="Geoblocked" + description="Access to this page is restricted, learn why." + empty +> + <Fragment slot="head-jsonld"> + <meta name="robots" content="noindex" /> + </Fragment> + + <h1>Geo-blocked</h1> + <p> + This page is purposely blocked for users on your region due to ethical + concerns, spam or abuse (or a combination of all these). + </p> + + <h2>Blocked countries</h2> + <ul> + <li>(US) United States of America - And colonies</li> + <li>(PR) Puerto Rico</li> + <li>(GU) Guam</li> + <li>(AS) American Samoa</li> + <li>(VI) U.S. Virgin Islands</li> + <li>(MP) Northern Mariana Islands</li> + <br /> + <li>(SV) El Salvador</li> + <li>(RU) Russian Federation</li> + <li>(BY) Belarus</li> + <br /> + <li>(IL) Israel</li> + <li>(HU) Hungary</li> + <li>(TR) Turkey</li> + <li>(CN) China</li> + <li>(SA) Saudi Arabia</li> + </ul> + + <p> + I am open to adding more countries to the list or removing them at any time. + I am aware of many other countries that have committed human rights abuses, + but these are the ones more likely to have users on this website. + </p> +</Layout> diff --git a/src/layouts/HomePageLayout.astro b/src/layouts/HomePageLayout.astro index 0906a11..e243c6e 100644 --- a/src/layouts/HomePageLayout.astro +++ b/src/layouts/HomePageLayout.astro @@ -1,24 +1,21 @@ --- 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, + headline: "Ariel Costas - Desarrollador web", }; --- -<Layout title={t.homePage.title} description={t.homePage.description}> +<Layout title="Inicio" description="Página de inicio de mi web"> <script is:inline type="application/ld+json" @@ -26,18 +23,29 @@ const schema = { set:html={JSON.stringify(schema)} /> - <h1>{t.homePage.title}</h1> - <p>{t.homePage.welcome}</p> + <h1>Inicio</h1> + <p> + Te doy la bienvenida a mi web. Me llamo Ariel, y aquí encontrarás + información sobre mí y mis proyectos. + </p> - <h2>{t.homePage.whoAmI}</h2> - <p>{t.homePage.whoAmIDesc}</p> - <a href="/trajectory">{t.homePage.moreAboutMe}</a> + <h2>¿Quién soy?</h2> + <p> + Soy un desarrollador web que le gusta aprender cosas nuevas y compartir su + conocimiento. Me gusta la programación, el diseño web y la creatividad. Me + encanta crear cosas nuevas y aprender de los demás. + </p> + <a href="/trajectory">Más información sobre mí</a> - <h2>{t.homePage.whatIDo}</h2> - <p>{t.homePage.whatIDoDesc}</p> - <a href="/portfolio">{t.homePage.myPortfolio}</a> + <h2>¿Qué hago?</h2> + <p> + Actualmente trabajo como desarrollador de software y administrador Cloud en + una empresa de tecnología. Me encargo de desarrollar aplicaciones web en PHP + y desplegarlas en la nube de forma segura y eficiente. + </p> + <a href="/portfolio">Mi portfolio</a> - <h2>{t.homePage.latestBlogPosts}</h2> + <h2>Últimas entradas del blog</h2> <ul> { blogCollection.slice(0, 5).map((p) => { @@ -55,5 +63,5 @@ const schema = { }) } </ul> - <a href="/blog">{t.homePage.viewAllPosts}</a> + <a href="/blog">Ver todas las entradas</a> </Layout> diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 30251ae..97115b5 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -3,16 +3,14 @@ import "@fontsource/beiruti"; import "@fontsource-variable/sen"; import Header from "../partials/Header.astro"; import Footer from "../partials/Footer.astro"; -import { getAbsoluteLocaleUrl } from "astro:i18n"; -import { getUrlWithoutLocale } from "../i18n"; interface Props { title: string; description: string; + empty?: boolean; } -const { title, description } = Astro.props; -const urlWithoutLocale = getUrlWithoutLocale(Astro.url.pathname); +const { title, description, empty } = Astro.props; --- <!doctype html> @@ -23,21 +21,6 @@ const urlWithoutLocale = getUrlWithoutLocale(Astro.url.pathname); <meta name="viewport" content="width=device-width" /> <link rel="canonical" href={Astro.url.toString().replace(/\.html$/, "")} /> - <link - rel="alternate" - hreflang="es" - href={getAbsoluteLocaleUrl("es", urlWithoutLocale)} - /> - <link - rel="alternate" - hreflang="en" - href={getAbsoluteLocaleUrl("en", urlWithoutLocale)} - /> - <link - rel="alternate" - hreflang="x-default" - href={getAbsoluteLocaleUrl("es", urlWithoutLocale)} - /> <link rel="alternate" type="application/rss+xml" href="/blog.xml" /> <link rel="sitemap" type="application/xml" href="/sitemap-index.xml" /> @@ -62,11 +45,11 @@ const urlWithoutLocale = getUrlWithoutLocale(Astro.url.pathname); <slot name="head-jsonld" /> </head> <body> - <Header /> + {empty ? null : <Header />} <main> <slot /> </main> - <Footer /> + {empty ? null : <Footer />} </body> </html> diff --git a/src/layouts/PortfolioPageLayout.astro b/src/layouts/PortfolioPageLayout.astro index 88f8614..c2d2b38 100644 --- a/src/layouts/PortfolioPageLayout.astro +++ b/src/layouts/PortfolioPageLayout.astro @@ -1,10 +1,9 @@ --- +import t from "../i18n/es.json"; + import Layout from "./Layout.astro"; -import { useTranslations } from "../i18n"; import TechnologyBadge from "../partials/TechnologyBadge.astro"; -const t = useTranslations(Astro.currentLocale); - const schema = { "@context": "https://schema.org", "@type": "WebPage", diff --git a/src/layouts/TrajectoryPageLayout.astro b/src/layouts/TrajectoryPageLayout.astro index a5bfb46..9a0bd53 100644 --- a/src/layouts/TrajectoryPageLayout.astro +++ b/src/layouts/TrajectoryPageLayout.astro @@ -1,9 +1,7 @@ --- -import { useTranslations } from "../i18n"; +import t from "../i18n/es.json"; import Layout from "./Layout.astro"; -const t = useTranslations(Astro.currentLocale); - const schema = { "@context": "https://schema.org", "@type": "WebPage", |
