Skip to content

Commit 7c2f396

Browse files
committed
wip
1 parent bcbbe92 commit 7c2f396

5 files changed

Lines changed: 659 additions & 75 deletions

File tree

internal/docs/ui/modules/footer.templ

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,32 @@ package modules
33
import "github.com/deeploy-sh/deeploy/internal/shared/utils"
44

55
templ FooterLinks(stars int) {
6-
<footer class="border-y border-border flex text-muted-foreground">
6+
<footer class="landing-links flex">
77
<a
88
href="/docs"
9-
class="flex-1 px-4 py-4 md:px-20 md:py-6 text-center hover:text-foreground transition-colors"
9+
class="landing-links-item flex-1 px-4 py-4 md:px-8 md:py-5 text-center"
1010
>
1111
Docs
1212
</a>
1313
<a
1414
href="https://github.com/deeploy-sh/deeploy"
1515
target="_blank"
16-
class="flex-1 px-4 py-4 md:px-20 md:py-6 text-center border-l border-border hover:text-foreground transition-colors"
16+
class="landing-links-item flex-1 px-4 py-4 md:px-8 md:py-5 text-center"
1717
>
1818
GitHub { utils.FormatStars(stars) }
1919
</a>
2020
<a
2121
href="https://x.com/axadrn"
2222
target="_blank"
23-
class="flex-1 px-4 py-4 md:px-20 md:py-6 text-center border-l border-border hover:text-foreground transition-colors"
23+
class="landing-links-item flex-1 px-4 py-4 md:px-8 md:py-5 text-center"
2424
>
2525
X
2626
</a>
2727
</footer>
2828
}
2929

3030
templ FooterCopyright() {
31-
<div class="py-8 text-center text-muted-foreground">
32-
© 2025 <a href="https://axeladrian.com" target="_blank" class="hover:text-foreground transition-colors">Axel Adrian</a>
31+
<div class="landing-copyright py-8 text-center">
32+
© 2025 <a href="https://axeladrian.com" target="_blank" class="landing-copyright-link">Axel Adrian</a>
3333
</div>
3434
}

internal/docs/ui/modules/navbar.templ

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ import (
66
)
77

88
templ Navbar(stars int) {
9-
<nav class="px-4 py-4 md:px-20 md:py-6 border-b border-border flex justify-between items-center">
10-
<a href="/" class="flex items-center gap-2 hover:text-muted-foreground transition-colors">
9+
<nav class="landing-nav px-4 py-4 md:px-10 md:py-5 flex justify-between items-center gap-4">
10+
<a href="/" class="landing-nav-brand flex items-center gap-2">
1111
@modules.BlobIcon()
1212
deeploy
1313
</a>
1414
<div class="flex items-center gap-4 md:gap-6">
1515
<a
1616
href="/docs"
17-
class="text-muted-foreground hover:text-foreground transition-colors"
17+
class="landing-nav-link"
1818
>
1919
Docs
2020
</a>
2121
<a
2222
href="https://github.com/deeploy-sh/deeploy"
2323
target="_blank"
24-
class="text-muted-foreground hover:text-foreground transition-colors"
24+
class="landing-nav-link"
2525
>
2626
GitHub { utils.FormatStars(stars) }
2727
</a>

internal/docs/ui/pages/doc.templ

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import (
1616

1717
templ Doc(currentDoc *service.Doc, tree *service.Doc, prev, next *service.Doc) {
1818
@layouts.BaseLayout(layouts.SEOProps{Title: currentDoc.Title, Description: currentDoc.Description, Path: currentDoc.Slug}) {
19-
@sidebar.Layout() {
20-
@sidebar.Sidebar() {
19+
@sidebar.Layout(sidebar.LayoutProps{Class: "docs-shell"}) {
20+
@sidebar.Sidebar(sidebar.Props{Class: "docs-sidebar"}) {
2121
@sidebar.Header() {
2222
@sidebar.Menu() {
2323
@sidebar.MenuItem() {
@@ -52,9 +52,9 @@ templ Doc(currentDoc *service.Doc, tree *service.Doc, prev, next *service.Doc) {
5252
}
5353
}
5454
}
55-
@sidebar.Inset() {
56-
<header class="sticky top-0 z-10 border-b bg-background">
57-
<div class="flex h-14 items-center px-6">
55+
@sidebar.Inset(sidebar.InsetProps{Class: "docs-inset"}) {
56+
<header class="docs-topbar sticky top-0 z-10 border-b">
57+
<div class="docs-topbar-inner flex h-14 items-center px-6">
5858
<div class="flex items-center gap-4">
5959
@sidebar.Trigger()
6060
@breadcrumb.Breadcrumb() {
@@ -92,10 +92,10 @@ templ Doc(currentDoc *service.Doc, tree *service.Doc, prev, next *service.Doc) {
9292
</div>
9393
</div>
9494
</header>
95-
<div id="docs-content-wrapper">
95+
<div class="docs-content-wrapper" id="docs-content-wrapper">
9696
@DocContent(currentDoc, prev, next)
9797
</div>
98-
<div class="border-t border-border">
98+
<div class="docs-copyright-wrap border-t border-border">
9999
@modules.FooterCopyright()
100100
</div>
101101
}
@@ -134,16 +134,16 @@ templ Doc(currentDoc *service.Doc, tree *service.Doc, prev, next *service.Doc) {
134134
}
135135

136136
templ DocContent(doc *service.Doc, prev, next *service.Doc) {
137-
<div class="flex-1" id="docs-content">
138-
<article class="container max-w-4xl px-6 py-12">
139-
<div class="mb-8">
137+
<div class="docs-main flex-1" id="docs-content">
138+
<article class="docs-article container max-w-4xl px-6 py-12">
139+
<div class="docs-title-block mb-8">
140140
<h1 class="text-4xl font-bold mb-2">{ doc.Title }</h1>
141141
if doc.Description != "" {
142-
<p class="text-xl text-muted-foreground">{ doc.Description }</p>
142+
<p class="docs-title-description text-xl">{ doc.Description }</p>
143143
}
144144
</div>
145145
@blocks.ContentWithProse(string(doc.Content))
146-
<div class="mt-12 pt-8 border-t flex justify-between">
146+
<div class="docs-pagination mt-12 pt-8 border-t flex justify-between">
147147
if prev != nil {
148148
@button.Button(button.Props{
149149
Href: prev.Path,

internal/docs/ui/pages/landing.templ

Lines changed: 56 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -16,65 +16,68 @@ templ Landing() {
1616
stars = starsVal.(int)
1717
}
1818
}}
19-
<div class="min-h-screen flex flex-col px-4">
20-
<div class="max-w-5xl mx-auto w-full flex-1 flex flex-col md:border-x border-border">
19+
<div class="landing-shell min-h-screen flex flex-col px-4 py-4 md:py-8">
20+
<div class="landing-frame max-w-6xl mx-auto w-full flex-1 flex flex-col">
2121
<!-- Navbar -->
2222
@modules.Navbar(stars)
2323
<!-- Main Content -->
24-
<main class="flex-1 flex flex-col justify-center">
25-
<!-- Hero -->
26-
<div class="py-12 md:py-16 px-4 md:px-20 space-y-4">
27-
<h1 class="text-2xl md:text-3xl font-semibold tracking-tight">
28-
Modern Deployment. Terminal First. Open Source.
29-
</h1>
30-
<p class="text-muted-foreground">The self-hosted alternative to Heroku, Vercel, and Netlify.</p>
31-
</div>
32-
<!-- Teaser Image -->
33-
<div class="border-t border-border">
34-
<img src="/assets/img/hero.png" class="w-full"/>
35-
</div>
36-
<!-- Features -->
37-
<div class="py-12 md:py-16 px-4 md:px-20 border-t border-border space-y-4">
38-
<p class="font-semibold">Features</p>
39-
<p class="text-muted-foreground">Zero-downtime · Auto SSL · Instant domains · Multi-VPS profiles · Self-hosted</p>
40-
</div>
41-
<!-- Install Commands -->
42-
<div class="py-12 md:py-16 px-4 md:px-20 border-t border-border space-y-4">
43-
<p class="font-semibold">Get started in 30 seconds</p>
44-
<div class="space-y-3">
45-
<!-- Server Install -->
46-
<div class="relative group">
47-
<div class="flex items-center gap-2 text-sm text-muted-foreground mb-1">
48-
<span>Server (VPS)</span>
24+
<main class="landing-main flex-1 flex flex-col justify-center px-3 pt-3 pb-3 md:px-6 md:pt-6 md:pb-6">
25+
<section class="landing-content-cluster">
26+
<!-- Hero -->
27+
<section class="landing-content-segment landing-hero px-5 py-10 md:px-12 md:py-14 space-y-4">
28+
<p class="landing-kicker text-xs md:text-sm uppercase tracking-[0.2em]">Self-hosted deploy stack</p>
29+
<h1 class="text-3xl md:text-5xl font-bold tracking-tight leading-tight">
30+
Modern Deployment. Terminal First. Open Source.
31+
</h1>
32+
<p class="landing-subtitle text-base md:text-lg">The self-hosted alternative to Heroku, Vercel, and Netlify.</p>
33+
</section>
34+
<!-- Teaser Image -->
35+
<section class="landing-content-segment landing-teaser">
36+
<img src="/assets/img/hero.png" class="landing-teaser-image w-full object-cover block" alt="deeploy ui preview"/>
37+
</section>
38+
<!-- Features -->
39+
<section class="landing-content-segment landing-features px-5 py-9 md:px-12 md:py-11 space-y-4">
40+
<p class="landing-section-title">Features</p>
41+
<p class="landing-section-copy">Zero-downtime · Auto SSL · Instant domains · Multi-VPS profiles · Self-hosted</p>
42+
</section>
43+
<!-- Install Commands -->
44+
<section class="landing-content-segment landing-install px-5 py-9 md:px-12 md:py-11 space-y-4">
45+
<p class="landing-section-title">Get started in 30 seconds</p>
46+
<div class="landing-install-list space-y-3">
47+
<!-- Server Install -->
48+
<div class="landing-command-block relative">
49+
<div class="flex items-center gap-2 text-sm mb-1">
50+
<span>Server (VPS)</span>
51+
</div>
52+
<div class="landing-command-line flex items-center overflow-hidden">
53+
<code class="landing-command-code flex-1 px-3 py-2 text-sm font-mono">curl -fsSL https://deeploy.sh/server.sh | sudo bash</code>
54+
<button
55+
class="copy-btn px-3 py-2 text-sm"
56+
data-copy="curl -fsSL https://deeploy.sh/server.sh | sudo bash"
57+
>copy</button>
58+
</div>
4959
</div>
50-
<div class="flex items-center bg-muted/50 border border-border rounded-md overflow-hidden">
51-
<code class="flex-1 px-3 py-2 text-sm font-mono">curl -fsSL https://deeploy.sh/server.sh | sudo bash</code>
52-
<button
53-
class="px-3 py-2 text-sm text-muted-foreground hover:text-foreground border-l border-border transition-colors copy-btn"
54-
data-copy="curl -fsSL https://deeploy.sh/server.sh | sudo bash"
55-
>copy</button>
60+
<!-- TUI Install -->
61+
<div class="landing-command-block relative">
62+
<div class="flex items-center gap-2 text-sm mb-1">
63+
<span>TUI (your machine)</span>
64+
</div>
65+
<div class="landing-command-line flex items-center overflow-hidden">
66+
<code class="landing-command-code flex-1 px-3 py-2 text-sm font-mono">curl -fsSL https://deeploy.sh/tui.sh | bash</code>
67+
<button
68+
class="copy-btn px-3 py-2 text-sm"
69+
data-copy="curl -fsSL https://deeploy.sh/tui.sh | bash"
70+
>copy</button>
71+
</div>
5672
</div>
5773
</div>
58-
<!-- TUI Install -->
59-
<div class="relative group">
60-
<div class="flex items-center gap-2 text-sm text-muted-foreground mb-1">
61-
<span>TUI (your machine)</span>
62-
</div>
63-
<div class="flex items-center bg-muted/50 border border-border rounded-md overflow-hidden">
64-
<code class="flex-1 px-3 py-2 text-sm font-mono">curl -fsSL https://deeploy.sh/tui.sh | bash</code>
65-
<button
66-
class="px-3 py-2 text-sm text-muted-foreground hover:text-foreground border-l border-border transition-colors copy-btn"
67-
data-copy="curl -fsSL https://deeploy.sh/tui.sh | bash"
68-
>copy</button>
69-
</div>
70-
</div>
71-
</div>
72-
</div>
73-
<!-- Built with -->
74-
<div class="py-12 md:py-16 px-4 md:px-20 border-t border-border space-y-4">
75-
<p class="font-semibold">Built with</p>
76-
<p class="text-muted-foreground">Go · Bubble Tea · Docker · Traefik · Let's Encrypt · SQLite</p>
77-
</div>
74+
</section>
75+
<!-- Built with -->
76+
<section class="landing-content-segment landing-builtwith px-5 py-9 md:px-12 md:py-11 space-y-4">
77+
<p class="landing-section-title">Built with</p>
78+
<p class="landing-section-copy">Go · Bubble Tea · Docker · Traefik · Let's Encrypt · SQLite</p>
79+
</section>
80+
</section>
7881
<!-- Newsletter -->
7982
<!-- <div class="py-12 md:py-16 px-4 md:px-20 border-t border-border space-y-4"> -->
8083
<!-- <div class="space-y-2"> -->

0 commit comments

Comments
 (0)