mirror of
https://github.com/hanzoai/hanzo.el.git
synced 2026-10-30 18:34:28 +00:00
413 lines
11 KiB
HTML
413 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{ page.title | default: site.title }}</title>
|
|
<meta name="description" content="{{ page.description | default: site.description }}">
|
|
<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;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
<style>
|
|
:root {
|
|
/* Hanzo Red: rgb(216, 28, 54) */
|
|
--brand: #d81c33;
|
|
--brand-secondary: #f17485;
|
|
--brand-hover: #c01830;
|
|
--bg-primary: #0a0a0a;
|
|
--bg-secondary: #141414;
|
|
--bg-card: rgba(23, 23, 23, 0.5);
|
|
--border: #262626;
|
|
--text-primary: #fafafa;
|
|
--text-secondary: #a3a3a3;
|
|
--text-muted: #737373;
|
|
}
|
|
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
|
body {
|
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
|
background: var(--bg-primary);
|
|
color: var(--text-primary);
|
|
line-height: 1.6;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.hero {
|
|
position: relative;
|
|
padding: 80px 24px 60px;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.hero::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 800px;
|
|
height: 600px;
|
|
background: radial-gradient(ellipse at center, var(--brand) 0%, transparent 70%);
|
|
opacity: 0.08;
|
|
filter: blur(100px);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.hero-content { position: relative; max-width: 800px; margin: 0 auto; }
|
|
|
|
.badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 6px 16px;
|
|
background: var(--bg-card);
|
|
border: 1px solid var(--border);
|
|
border-radius: 9999px;
|
|
font-size: 14px;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.badge-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
background: var(--brand);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
h1 {
|
|
font-size: clamp(2.5rem, 5vw, 3.5rem);
|
|
font-weight: 700;
|
|
margin-bottom: 16px;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
|
|
h1 span { color: var(--text-secondary); }
|
|
|
|
.subtitle {
|
|
font-size: 1.25rem;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 32px;
|
|
}
|
|
|
|
.buttons {
|
|
display: flex;
|
|
gap: 12px;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 12px 24px;
|
|
border-radius: 9999px;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
text-decoration: none;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.btn-primary {
|
|
background: var(--brand);
|
|
color: white;
|
|
border: none;
|
|
}
|
|
|
|
.btn-primary:hover { background: var(--brand-hover); }
|
|
|
|
.btn-secondary {
|
|
background: transparent;
|
|
color: var(--text-primary);
|
|
border: 1px solid var(--border);
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
background: var(--bg-secondary);
|
|
border-color: var(--text-muted);
|
|
}
|
|
|
|
main {
|
|
max-width: 900px;
|
|
margin: 0 auto;
|
|
padding: 0 24px 80px;
|
|
}
|
|
|
|
.content {
|
|
background: var(--bg-card);
|
|
border: 1px solid var(--border);
|
|
border-radius: 16px;
|
|
padding: 48px;
|
|
}
|
|
|
|
.content h2 {
|
|
font-size: 1.5rem;
|
|
font-weight: 600;
|
|
margin: 32px 0 16px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.content h2:first-child { margin-top: 0; }
|
|
|
|
.content h3 {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
margin: 24px 0 12px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.content p {
|
|
color: var(--text-secondary);
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.content ul, .content ol {
|
|
color: var(--text-secondary);
|
|
margin: 0 0 16px 24px;
|
|
}
|
|
|
|
.content li { margin-bottom: 8px; }
|
|
|
|
.content a {
|
|
color: var(--brand);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.content a:hover { text-decoration: underline; }
|
|
|
|
.content code {
|
|
font-family: 'JetBrains Mono', monospace;
|
|
font-size: 0.875em;
|
|
background: var(--bg-secondary);
|
|
padding: 2px 6px;
|
|
border-radius: 4px;
|
|
color: var(--brand-secondary);
|
|
}
|
|
|
|
.content pre {
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
padding: 16px;
|
|
overflow-x: auto;
|
|
margin: 16px 0;
|
|
}
|
|
|
|
.content pre code {
|
|
background: none;
|
|
padding: 0;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.content table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 16px 0;
|
|
}
|
|
|
|
.content th, .content td {
|
|
text-align: left;
|
|
padding: 12px;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
.content th {
|
|
color: var(--text-primary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.content td { color: var(--text-secondary); }
|
|
|
|
footer {
|
|
text-align: center;
|
|
padding: 32px 24px;
|
|
color: var(--text-muted);
|
|
font-size: 14px;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
|
|
footer a {
|
|
color: var(--text-secondary);
|
|
text-decoration: none;
|
|
}
|
|
|
|
footer a:hover { color: var(--brand); }
|
|
|
|
@media (max-width: 640px) {
|
|
.hero { padding: 60px 16px 40px; }
|
|
.content { padding: 24px; }
|
|
.buttons { flex-direction: column; }
|
|
.btn { width: 100%; justify-content: center; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header class="hero">
|
|
<div class="hero-content">
|
|
<div class="badge">
|
|
<span class="badge-dot"></span>
|
|
<span>{{ site.title }}</span>
|
|
</div>
|
|
<h1>{{ page.title | default: site.title }} <span>for Emacs</span></h1>
|
|
<p class="subtitle">{{ site.description }}</p>
|
|
<div class="buttons">
|
|
<a href="https://github.com/hanzoai/hanzo.el" class="btn btn-primary">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
|
|
View on GitHub
|
|
</a>
|
|
<a href="#installation" class="btn btn-secondary">
|
|
Installation Guide
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
<div class="content">
|
|
{{ content }}
|
|
</div>
|
|
</main>
|
|
|
|
<footer>
|
|
<div class="footer-content">
|
|
<div class="footer-section">
|
|
<h4>Hanzo AI</h4>
|
|
<ul>
|
|
<li><a href="https://hanzo.ai">Website</a></li>
|
|
<li><a href="https://docs.hanzo.ai">Documentation</a></li>
|
|
<li><a href="https://github.com/hanzoai">GitHub</a></li>
|
|
<li><a href="https://github.com/hanzoai">Open Source</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer-section">
|
|
<h4>Editor Plugins</h4>
|
|
<ul>
|
|
<li><a href="https://hanzo-vim.hanzo.app">hanzo.vim</a></li>
|
|
<li><a href="https://hanzo-el.hanzo.app">hanzo.el</a></li>
|
|
<li><a href="https://github.com/hanzoai/ide-extension">VS Code / JetBrains</a></li>
|
|
<li><a href="https://github.com/hanzoai/browser-extension">Browser Extension</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer-section">
|
|
<h4>Ecosystem</h4>
|
|
<ul>
|
|
<li><a href="https://github.com/hanzoai/mcp">MCP Tools</a></li>
|
|
<li><a href="https://github.com/hanzoai/llm">LLM Gateway</a></li>
|
|
<li><a href="https://github.com/hanzoai/agent">Agent SDK</a></li>
|
|
<li><a href="https://lux.network">Lux Network</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer-section">
|
|
<h4>Community</h4>
|
|
<ul>
|
|
<li><a href="https://discord.gg/CJCyAsm9Vr">Discord</a></li>
|
|
<li><a href="https://twitter.com/hanaborobot">Twitter</a></li>
|
|
<li><a href="https://zoo.ngo">Zoo AI</a></li>
|
|
<li><a href="https://zoo.ngo">Zoo Labs</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="footer-bottom">
|
|
<div class="footer-logo">
|
|
<svg viewBox="0 0 67 67" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
|
<path d="M22.21 67V44.6369H0V67H22.21Z" fill="currentColor"/>
|
|
<path d="M66.7038 22.3184H22.2534L0.0878906 44.6367H44.4634L66.7038 22.3184Z" fill="currentColor"/>
|
|
<path d="M22.21 0H0V22.3184H22.21V0Z" fill="currentColor"/>
|
|
<path d="M66.7198 0H44.5098V22.3184H66.7198V0Z" fill="currentColor"/>
|
|
<path d="M66.7198 67V44.6369H44.5098V67H66.7198Z" fill="currentColor"/>
|
|
</svg>
|
|
<span>Hanzo AI · Techstars '17</span>
|
|
</div>
|
|
<p>© 2024 Hanzo AI Inc. MIT License.</p>
|
|
</div>
|
|
</footer>
|
|
|
|
<style>
|
|
footer {
|
|
padding: 48px 24px 32px;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
|
|
.footer-content {
|
|
max-width: 1200px;
|
|
margin: 0 auto 32px;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
gap: 32px;
|
|
}
|
|
|
|
.footer-section h4 {
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
margin-bottom: 12px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.footer-section ul {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.footer-section li {
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.footer-section a {
|
|
color: var(--text-muted);
|
|
text-decoration: none;
|
|
font-size: 14px;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.footer-section a:hover {
|
|
color: var(--brand);
|
|
}
|
|
|
|
.footer-bottom {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding-top: 24px;
|
|
border-top: 1px solid var(--border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 16px;
|
|
}
|
|
|
|
.footer-logo {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
color: var(--text-muted);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.footer-logo svg {
|
|
color: var(--brand);
|
|
}
|
|
|
|
.footer-bottom p {
|
|
color: var(--text-muted);
|
|
font-size: 13px;
|
|
margin: 0;
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.footer-content {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
.footer-bottom {
|
|
flex-direction: column;
|
|
text-align: center;
|
|
}
|
|
}
|
|
</style>
|
|
</body>
|
|
</html>
|