<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Blog — Santiago Sarceda</title>
  <meta name="description" content="Soltando ideas: ensayos y textos breves de Santiago Sarceda." />
  <meta name="author" content="Santiago Sarceda" />
  <link rel="icon" type="image/svg+xml" href="/assets/favicon.png" />
  <meta name="theme-color" content="#f4f1ea" />
  <meta property="og:type" content="article" />
  <meta property="og:site_name" content="Santiago Sarceda" />
  <meta property="og:locale" content="es_AR" />

  <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:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet" />

  <link rel="stylesheet" href="/styles.css" />
</head>
<body class="page-blog">

  <header class="nav" id="top">
    <a href="/" class="nav__brand">Santiago&nbsp;Sarceda</a>
    <button class="nav__toggle" id="navToggle" aria-label="Abrir menú" aria-expanded="false" aria-controls="navLinks">
      <span></span><span></span><span></span>
    </button>
    <nav class="nav__links" id="navLinks">
      <a href="/cv">CV</a>
      <a href="/blog" aria-current="page">Blog</a>
      <a href="/libros">Libros</a>
      <a href="/arte">Cuadernos</a>
      <a href="/playground">Playground</a>
      <a href="/#contact" class="nav__cta">Contacto</a>
    </nav>
  </header>

  <main class="post">
    <p class="post__back"><a href="/blog">← Blog</a></p>
    <article id="article" aria-live="polite">
      <noscript><p>Este artículo necesita JavaScript. También podés leerlo en <a href="https://medium.com/soltando-ideas">Medium</a>.</p></noscript>
    </article>
  </main>

  <footer class="footer">
    <span>© <span id="year"></span> Santiago Sarceda</span>
    <nav class="footer__nav">
      <a href="/">Inicio</a>
      <a href="/cv">CV</a>
      <a href="/blog">Blog</a>
      <a href="/libros">Libros</a>
      <a href="/arte">Cuadernos</a>
      <a href="/playground">Playground</a>
      <a href="/#contact">Contacto</a>
    </nav>
  </footer>

  <script src="/main.js"></script>
  <script src="/assets/vendor/marked.js"></script>
  <script>
    const article = document.getElementById('article');
    const slug = decodeURIComponent(location.pathname.split('/').filter(Boolean).pop());
    const fmt = new Intl.DateTimeFormat('es-AR', { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' });

    function notFound() {
      document.title = 'Post no encontrado — Santiago Sarceda';
      article.innerHTML = '<h1 class="post__title">No encontré ese post</h1><p>Quizás fue movido. Mirá el <a href="/blog">listado completo</a>.</p>';
    }

    // Front matter simple: bloque --- ... --- al inicio, pares clave: valor.
    function parseFrontMatter(md) {
      const m = md.match(/^---\n([\s\S]*?)\n---\n?/);
      if (!m) return { meta: {}, body: md };
      const meta = {};
      m[1].split('\n').forEach((line) => {
        const i = line.indexOf(':');
        if (i > 0) meta[line.slice(0, i).trim()] = line.slice(i + 1).trim().replace(/^"|"$/g, '');
      });
      return { meta, body: md.slice(m[0].length) };
    }

    if (!/^[a-z0-9-]+$/.test(slug) || slug === 'blog') {
      notFound();
    } else {
      fetch('/posts/' + slug + '.md')
        .then((r) => { if (!r.ok) throw new Error(r.status); return r.text(); })
        .then((md) => {
          const { meta, body } = parseFrontMatter(md);
          const title = meta.title || slug;
          document.title = title + ' — Santiago Sarceda';

          const canonical = document.createElement('link');
          canonical.rel = 'canonical';
          canonical.href = 'https://santiagosarceda.com/blog/' + slug;
          document.head.appendChild(canonical);

          let html = '<header class="post__header"><h1 class="post__title">' + title + '</h1>';
          if (meta.date) {
            html += '<time class="post__date" datetime="' + meta.date + '">' +
              fmt.format(new Date(meta.date + 'T00:00:00Z')) + '</time>';
          }
          html += '</header><div class="post__content">' + marked.parse(body) + '</div>';
          if (meta.medium) {
            html += '<p class="post__origin">Publicado originalmente en <a href="' + meta.medium + '" rel="noopener">Medium</a>.</p>';
          }
          article.innerHTML = html;
        })
        .catch(notFound);
    }
  </script>

  <script>
    window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
  </script>
  <script defer src="/_vercel/insights/script.js"></script>
</body>
</html>
