← back to Butlr

views/partials/head.ejs

31 lines

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <title><%= title %></title>
  <meta name="description" content="<%= typeof meta_desc !== 'undefined' ? meta_desc : '' %>">
  <% if (typeof noindex === 'undefined' ? true : noindex) { %>
  <!-- Butlr is owner-only data; default to noindex on every page. Public marketing pages
       opt-in via `noindex=false` in their route. -->
  <meta name="robots" content="noindex, nofollow, noarchive, nosnippet">
  <meta name="googlebot" content="noindex, nofollow, noarchive">
  <% } %>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500;600;700&display=swap">
  <link rel="stylesheet" href="/css/theme.css">
  <link rel="stylesheet" href="/css/site.css">
  <script>
    // Anti-flash theme — read storage before paint
    (function(){
      try {
        var t = localStorage.getItem('hfm-theme');
        if (!t) t = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
        document.documentElement.setAttribute('data-theme', t);
      } catch (_) { document.documentElement.setAttribute('data-theme','light'); }
    })();
  </script>
</head>
<body data-abrams-property="butlr">