baseof.html 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} · {{ .Site.Title }}{{ end }}</title>
  7. <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }}">
  8. <link rel="stylesheet" href="{{ "css/site.css" | relURL }}">
  9. <link rel="icon" href="{{ "favicon.ico" | relURL }}" type="image/x-icon">
  10. <link rel="apple-touch-icon" href="{{ "logo.png" | relURL }}">
  11. <!-- 学术手稿字体 -->
  12. <link rel="preconnect" href="https://fonts.googleapis.com">
  13. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  14. <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap" rel="stylesheet">
  15. </head>
  16. <body>
  17. <header class="site-header">
  18. <div class="wrap header-inner">
  19. <div>
  20. <a class="site-title" href="{{ "/" | relURL }}">
  21. <img src="{{ "logo.png" | relURL }}" alt="Logo" class="site-logo">
  22. {{ .Site.Title }}
  23. </a>
  24. <p class="site-tagline">{{ .Site.Params.description }}</p>
  25. </div>
  26. <button class="menu-toggle" aria-label="菜单" aria-expanded="false">
  27. <span></span>
  28. <span></span>
  29. <span></span>
  30. </button>
  31. <nav class="site-nav">
  32. {{ range .Site.Menus.main }}
  33. <a href="{{ .URL }}">{{ .Name }}</a>
  34. {{ end }}
  35. <a href="{{ "/search" | relURL }}" class="search-link">🔍</a>
  36. </nav>
  37. </div>
  38. </header>
  39. <main class="wrap">
  40. {{ block "main" . }}{{ end }}
  41. </main>
  42. <footer class="site-footer wrap">
  43. <p>© {{ now.Format "2006" }} {{ .Site.Params.owner }} · Hugo personal site for AI briefs / blog / resume.</p>
  44. </footer>
  45. <script>
  46. document.addEventListener('DOMContentLoaded', function() {
  47. const toggle = document.querySelector('.menu-toggle');
  48. const nav = document.querySelector('.site-nav');
  49. toggle.addEventListener('click', function() {
  50. const isActive = toggle.classList.toggle('active');
  51. nav.classList.toggle('active');
  52. toggle.setAttribute('aria-expanded', isActive);
  53. });
  54. });
  55. </script>
  56. </body>
  57. </html>