website

#astro#js#html#css

git clone https://git.pyrossh.dev/website

木 Personal website of pyrossh. Built with astrojs, shiki, vite.


src/_includes/layout.njk
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <script>
      var theme = localStorage.getItem("theme");
      if (theme === "dark" || theme === "light") {
        document.documentElement.setAttribute("data-theme", theme);
      }
    </script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
    <meta name="theme-color" content="#131618" />
    <link rel="icon" type="image/svg+xml" href="/assets/icons/icon.svg" />
    <link rel="alternate" type="application/rss+xml" title="{{ title or site.title }}" href="/rss.xml" />
    <link rel="canonical" href="{{ site.url }}{{ page.url }}" />
    <link rel="stylesheet" href="/assets/css/bundle.css" />
    <title>{{ title or site.title }}</title>
    <meta name="title" content="{{ title or site.title }}" />
    <meta name="description" content="{{ description or site.description }}" />
    <meta property="og:title" content="{{ title or site.title }}" />
    <meta property="og:description" content="{{ description or site.description }}" />
    <meta property="og:image" content="/assets/icons/icon.svg" />
    <meta name="twitter:card" content="summary_large_image" />
    <script defer src="/assets/client.js"></script>
    <script src="/assets/vendor/htmx.min.js"></script>
  </head>
  <body>
    {% include "site-header.njk" %}
    <div class="wrapper">
      <main>{{ content | safe }}</main>
    </div>
    {% include "site-footer.njk" %}
  </body>
</html>