1<html>
2
3<head>
4 <meta charset="utf-8">
5 <meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=5.0, minimum-scale=0.86">
6
7 <link rel="mask-icon" href="/static/images/favicon.svg" color="#000000">
8 <link rel="alternate icon" type="image/png" href="/static/images/favicon.png">
9 <link rel="shortcut icon" href="/static/images/favicon.svg">
10 <link rel="apple-touch-icon" sizes="180x180" href="/static/images/apple-touch-icon.png">
11 <link rel="manifest" href="/static/site.webmanifest">
12
13 <link rel="stylesheet" href="/static/styles.css">
14 <link rel="stylesheet" href="/static/prose.css">
15
16 <link rel="mask-icon" href="/static/images/safari-pinned-tab.svg" color="#000000">
17 <meta name="msapplication-TileColor" content="#000000">
18 <meta name="msapplication-config" content="/static/browserconfig.xml">
19 <meta name="theme-color" content="#000">
20
21 <!-- Open Graph stuff -->
22 <meta name="twitter:card" content="summary" />
23 <meta property="twitter:image" content="/static/images/zed-twitter-image.png" />
24 <meta name="twitter:image:alt" content="An image of Zed's logo, sharp Z inside a circle, in white on a black background." />
25 <meta property="og:url" content="https://zed.dev/" />
26 <meta property="og:title" content="Introducing Zed" />
27 <meta property="og:description" content="A lightning-fast, collaborative code editor written in Rust." />
28 <meta property="og:image" content="/static/images/zed-og-image.png" />
29 <meta property="og:type" content="website" />
30
31 <title>Zed</title>
32
33</head>
34
35<body class="box-border font-light bg-black font-body text-main">
36 <main class="container flex flex-col mx-auto lg:bg-white lg:flex-none lg:grid lg:min-h-full lg:grid-cols-4 max-w-screen-2xl lg:gap-x-px text-gray-50">
37 <nav class="p-5 pt-10 pb-0 bg-black font-extralight lg:hidden">
38 <div class="flex flex-row justify-between">
39 <a href="/" class="block hover:opacity-80">
40 <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
41 <path fill-rule="evenodd" clip-rule="evenodd" d="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0ZM16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4Z" fill="white"/>
42 <path fill-rule="evenodd" clip-rule="evenodd" d="M10 10L23.5 10L14.875 19H19L22 22H8.5L17.125 13H13L10 10Z" fill="white"/>
43 </svg>
44 </a>
45 <div class="flex flex-row">
46 {{#if current_user}}
47
48 <form id="sign_out" action="/sign_out" method="post" class="inline m-0 text-gray-500 font-extralight">
49 <button class="text-lg leading-relaxed √ no-underline font-extralight hover:underline">Log Out</button>
50 </form>
51
52 {{else}}
53
54 <!-- Otherwise let user log in -->
55 <a href=" /sign_in"
56 class="text-lg leading-relaxed text-gray-500">
57 Log in
58 </a>
59 {{/if}}
60 </div>
61 </div>
62
63 <div class="flex flex-row flex-wrap mt-10">
64 <a href="/" class="mr-2 text-lg leading-relaxed">
65 Meet Zed <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
66 </a>
67 <a href="/team" class="mr-2 text-lg leading-relaxed">
68 The Team <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
69 </a>
70
71 <a href="/community" class="mr-2 text-lg leading-relaxed">
72 Waitlist <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
73 </a>
74 {{#if current_user}}
75 <a href="/updates" class="mr-2 text-lg leading-relaxed">
76 Updates <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
77 </a>
78 <a href="/releases" class="mr-2 text-lg leading-relaxed">
79 Releases <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
80 </a>
81
82 {{#if current_user.is_admin }}
83 <a href="/admin" class="inline-block mr-2 text-lg leading-relaxed">
84 Manage Users <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
85 </a>
86 {{/if}}
87 {{/if}}
88 </div>
89
90 <!-- If user is logged in AND -->
91 <!-- If user is at least an insider -->
92 {{#if current_user}}
93
94 <!-- AND If user is an admin -->
95
96
97 {{/if}}
98 </nav>
99
100 <nav id="nav" class="hidden p-10 pt-20 bg-black lg:flex lg:flex-col font-extralight site-nav">
101 <a href="/" class="block hover:opacity-80">
102 <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
103 <path fill-rule="evenodd" clip-rule="evenodd" d="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0ZM16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4Z" fill="white"/>
104 <path fill-rule="evenodd" clip-rule="evenodd" d="M10 10L23.5 10L14.875 19H19L22 22H8.5L17.125 13H13L10 10Z" fill="white"/>
105 </svg>
106 </a>
107 <div class="flex flex-col mt-10 font-mono">
108 <a href="/" class="relative mt-2 text-base no-underline lowercase hover:underline">
109 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
110 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
111 </span>
112 Meet Zed
113 </a>
114 <a href="/team" class="relative mt-2 text-base no-underline lowercase hover:underline">
115 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
116 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
117 </span>
118 The Team
119 </a>
120 <a href="/community" class="relative mt-2 text-base no-underline lowercase hover:underline">
121 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
122 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
123 </span>
124 Waitlist
125 </a>
126 </div>
127
128 <!-- If user is logged in AND -->
129 <!-- If user is at least an insider -->
130 {{#if current_user}}
131 <div class="flex flex-col mt-10 font-mono">
132 <p class="text-xs tracking-widest uppercase opacity-50">Insiders</p>
133 <a href="/updates" class="relative mt-2 text-base no-underline lowercase hover:underline">
134 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
135 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
136 </span>
137 Updates
138 </a>
139 <a href="/releases" class="relative mt-2 text-base no-underline lowercase hover:underline">
140 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
141 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
142 </span>
143 Releases
144 </a>
145 </div>
146
147 <!-- AND If user is an admin -->
148 {{#if current_user.is_admin }}
149 <div class="flex flex-col mt-10 font-mono">
150 <p class="text-xs tracking-widest uppercase opacity-50">Admin</p>
151 <a href="/admin" class="relative inline-block mt-2 text-base no-underline lowercase hover:underline">
152 <span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
153 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
154 </span>
155 Manage
156 </a>
157 </div>
158 {{/if}}
159
160 <div class="mt-10">
161 <p class="text-base no-underline">@{{current_user.github_login}}</p>
162 <form id="sign_out" action="/sign_out" method="post">
163 <button class="mt-2 text-xs no-underline lowercase opacity-50 hover:underline">Sign out</button>
164 </form>
165 </div>
166
167 {{else}}
168 <!-- Otherwise let user log in -->
169 <a href=" /sign_in"
170 class="mt-10 text-base text-gray-400 no-underline lowercase hover:underline">
171 Log in
172 </a>
173 {{/if}}
174 </nav>
175
176 <div class="col-span-3 bg-black">
177 {{> @partial-block}}
178 </div>
179 </main>
180 <script src="/static/prism.js"></script>
181</body>
182
183<script>
184 const nav = document.getElementById('nav');
185 const links = nav.getElementsByTagName('a');
186 const currentPath = window.location.pathname;
187 for (const link of links) {
188 if (link.getAttribute('href') === currentPath) {
189 link.classList.add('active');
190 }
191 }
192</script>
193
194</html>