gabeefran.co-blog/.vercel/output/static/404.html

23 lines
No EOL
6.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="alternate icon" href="/favicon.ico"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="canonical" href="https://gabeefran.co/404/"><link rel="alternate" hreflang="en" href="https://gabeefran.co/404/"><link rel="alternate" hreflang="pt-BR" href="https://gabeefran.co/pt/404/"><meta name="generator" content="Astro v7.2.10"><title>Page not found — gabeefranco</title><meta name="description" content="There’s nothing here. Let’s get you back home."><meta property="og:type" content="website"><meta property="og:title" content="Page not found — gabeefranco"><meta property="og:description" content="There’s nothing here. Let’s get you back home."><meta property="og:url" content="https://gabeefran.co/404/"><meta property="og:image" content="https://gabeefran.co/logo.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://gabeefran.co/logo.png"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"><script>
// Runs before paint to avoid a flash of the wrong theme.
(function () {
const stored = localStorage.getItem('theme');
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
const dark = stored ? stored === 'dark' : prefersDark;
document.documentElement.classList.toggle('dark', dark);
})();
</script><link rel="stylesheet" href="/_astro/BaseLayout.C3cx7DTv.css"><script>window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
var script = document.createElement('script');
script.defer = true;
script.src = '/_vercel/insights/script.js';
var head = document.querySelector('head');
head.appendChild(script);
</script></head><body class="flex min-h-screen flex-col bg-bg font-sans text-text antialiased selection:bg-primary selection:text-white"><header class="sticky top-0 z-40 border-b border-border/80 bg-bg/85 backdrop-blur"><div class="flex flex-col justify-center gap-4 px-4 py-3 sm:px-6"><div class="flex flex-row justify-between items-end"><a href="/" class="flex hover:underline shrink-0 items-center gap-2.5" aria-label="gabeefranco"><img src="/logo.png" class="h-4"><span class="font-mono text-[15px] font-semibold tracking-tight text-text">gabeefranco</span></a><div class="ml-10 flex sm:hidden justify-end gap-3"><a href="/pt/404/" hreflang="pt" title="Switch language" aria-label="Switch language: Português" class="text-accent max-w-fit font-mono text-xs sm:text-sm underline hover:cursor-pointer hover:text-accent-deep">Switch language: Português</a><button type="button" class="theme-toggle text-accent sm:ml-2 font-mono text-xs sm:text-sm underline hover:cursor-pointer hover:text-accent-deep" aria-label="Toggle color theme" title="Toggle color theme">Toggle color theme</button><script type="module">function e(){document.querySelectorAll(`.theme-toggle`).forEach(e=>{e.addEventListener(`click`,function(){let e=document.documentElement.classList.toggle(`dark`);localStorage.setItem(`theme`,e?`dark`:`light`)})})}e(),document.addEventListener(`astro:after-swap`,e);</script></div><div class="hidden sm:flex items-center gap-2"><nav class="flex items-center gap-1 justify-right" aria-label="Menu"><a href="/" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">Home</a><a href="/posts" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">Posts</a><a href="/about" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">About</a></nav><a href="/pt/404/" hreflang="pt" title="Switch language" aria-label="Switch language: Português" class="text-accent max-w-fit py-1 font-mono text-xs sm:text-sm underline hover:cursor-pointer hover:text-accent-deep ">Switch language: Português</a><button type="button" class="theme-toggle text-accent sm:ml-2 font-mono text-xs sm:text-sm underline hover:cursor-pointer hover:text-accent-deep" aria-label="Toggle color theme" title="Toggle color theme">Toggle color theme</button></div></div><div class="flex justify-end sm:hidden items-center gap-2"><nav class="flex items-center gap-1 justify-right" aria-label="Menu"><a href="/" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">Home</a><a href="/posts" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">Posts</a><a href="/about" class="px-2 py-1 text-sm font-medium font-mono underline text-text-muted hover:text-text">About</a></nav></div></div></header><main class="flex-1"><section class="mx-10 flex flex-col items-start px-4 py-24 sm:px-6 font-mono"><p class="font-mono text-sm text-primary">404</p><div data-notfound-lang="en" class><h1 class="mt-2 text-3xl font-bold tracking-tight text-text">Page not found</h1><p class="mt-3 text-text-muted">There’s nothing here. Let’s get you back home.</p><a href="/" class="mt-4 inline-block underline text-primary hover:text-primary-hover font-bold">Back to home</a></div><div data-notfound-lang="pt" class="hidden"><h1 class="mt-2 text-3xl font-bold tracking-tight text-text">Página não encontrada</h1><p class="mt-3 text-text-muted">Não há nada aqui. Vamos te levar de volta para o início.</p><a href="/pt" class="mt-4 inline-block underline text-primary hover:text-primary-hover font-bold">Voltar para o início</a></div></section></main><footer class="border-t border-border/80 font-mono"><div class="mx-auto flex max-w-3xl flex-col gap-2 px-4 py-8 text-sm text-text-muted sm:flex-row sm:items-center sm:justify-between sm:px-6"><p>&copy; 2026 <span class="font-mono text-text">gabeefranco</span> &middot; All rights reserved.</p><div class="flex items-center gap-4"><span class="hidden sm:inline">Written by hand in Porto Alegre.</span><a href="https://github.com/gabeefranco" target="_blank" rel="noopener noreferrer me" class="transition-colors hover:text-primary">GitHub</a><a href="https://github.com/gabeefranco/gabeefran.co-blog" target="_blank" rel="noopener noreferrer" class="transition-colors hover:text-primary">Source</a></div></div></footer></body></html><script>
(function () {
if (location.pathname.replace(/\/$/, '').startsWith('/pt') === false) return;
document.documentElement.lang = 'pt';
document.querySelectorAll('[data-notfound-lang]').forEach(function (el) {
el.classList.toggle('hidden', el.getAttribute('data-notfound-lang') !== 'pt');
});
})();
</script>