Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ bun run sync-versions # Syncs VERSION → sub-package.json files
- No emojis in code or UI unless explicitly requested
- Functional components with hooks (React)
- Tailwind CSS for styling (both web and docs)
- All new UI created (both web and docs) must be mobile responsive across all viewport sizes (mobile, tablet, and desktop) with no horizontal overflow or broken navigation

## Adding a Doc Page

Expand Down
41 changes: 32 additions & 9 deletions apps/docs/blume.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,45 @@ export default defineConfig({
"/docs",
"/docs/installation",
"/docs/quickstart",
"/docs/configuration",
{
label: "Core Architecture",
items: ["/docs/deployments", "/docs/env-vars", "/docs/scaling", "/docs/system-config"],
label: "Projects",
items: [
"/docs/deployments",
"/docs/configuration",
"/docs/env-vars",
"/docs/shared-env-vars",
"/docs/volumes",
"/docs/domains",
"/docs/scaling",
],
},
{
label: "Deployment",
items: ["/docs/ai-diagnosis", "/docs/agent-caddy-routes"],
label: "Data",
items: ["/docs/databases", "/docs/backups"],
},
{
label: "Cluster Storage & Data",
items: ["/docs/databases", "/docs/volumes"],
label: "Multi-Server",
items: ["/docs/servers", "/docs/agent-caddy-routes"],
},
{
label: "Networking & Security",
items: ["/docs/auth", "/docs/domains", "/docs/ssl"],
label: "AI & Diagnosis",
items: ["/docs/ai-diagnosis"],
},
{
label: "Observability",
items: ["/docs/observability", "/docs/alerts"],
},
{
label: "Integrations",
items: ["/docs/github", "/docs/settings"],
},
{
label: "Security",
items: ["/docs/auth", "/docs/keys", "/docs/ssl"],
},
{
label: "Platform",
items: ["/docs/system-config", "/docs/cli"],
},
{
label: "Release",
Expand Down
22 changes: 11 additions & 11 deletions apps/docs/components/CTA.astro
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
---

<section class="max-w-[1150px] mx-auto px-4 py-20 dq-reveal">
<div class="cf-hero-card text-center flex flex-col items-center py-16">
<section class="max-w-[1150px] mx-auto px-4 py-12 sm:py-20 dq-reveal">
<div class="cf-hero-card text-center flex flex-col items-center py-10 sm:py-16">
<div class="cf-hero-card-glow"></div>
<div class="mb-6 z-10">
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" width="48" height="48" class="mx-auto">
<div class="mb-5 sm:mb-6 z-10">
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" width="44" height="44" class="mx-auto">
<defs>
<linearGradient id="cta-logo-g" x1="0" y1="0" x2="32" y2="32" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#ffffff" />
Expand All @@ -18,25 +18,25 @@
</svg>
</div>

<h2 class="text-3xl md:text-5xl font-bold tracking-tight mb-4 z-10 text-white">
<h2 class="text-2xl sm:text-3xl md:text-5xl font-bold tracking-tight mb-3 sm:mb-4 z-10 text-white">
Ready to own your deployment platform?
</h2>
<p class="text-sm md:text-base text-orange-100 max-w-xl mx-auto leading-relaxed mb-8 z-10">
<p class="text-xs sm:text-sm md:text-base text-orange-100 max-w-xl mx-auto leading-relaxed mb-6 sm:mb-8 z-10">
Spin up Dequel on your server in seconds with zero third-party dependencies.
</p>

<!-- One Command Install Code Copy Pill -->
<div class="bg-[#000000]/40 border border-white/20 rounded-full px-6 py-3 font-mono text-xs text-white max-w-2xl mx-auto mb-10 z-10 flex items-center justify-between gap-4 backdrop-blur-md">
<div class="bg-[#000000]/40 border border-white/20 rounded-full px-4 sm:px-6 py-2.5 sm:py-3 font-mono text-[11px] sm:text-xs text-white w-full max-w-full sm:max-w-2xl mx-auto mb-7 sm:mb-10 z-10 flex items-center justify-between gap-2 sm:gap-4 backdrop-blur-md overflow-hidden">
<span class="truncate">curl -fsSL https://dequel.intrep.xyz/install.sh | bash</span>
<span class="text-xs text-amber-300 font-bold uppercase tracking-wider">1-Line Install</span>
<span class="hidden sm:inline-block text-xs text-amber-300 font-bold uppercase tracking-wider shrink-0">1-Line Install</span>
</div>

<div class="flex flex-wrap items-center justify-center gap-4 z-10">
<a href="/docs/installation" class="cf-pill-btn-white group">
<div class="flex flex-col sm:flex-row items-stretch sm:items-center justify-center gap-3 sm:gap-4 w-full sm:w-auto z-10">
<a href="/docs/installation" class="cf-pill-btn-white group w-full sm:w-auto">
<span>Install Dequel Now</span>
<span class="transition-transform group-hover:translate-x-1">→</span>
</a>
<a href="/docs" class="cf-pill-btn-glass">
<a href="/docs" class="cf-pill-btn-glass w-full sm:w-auto">
<span>Read Documentation</span>
</a>
</div>
Expand Down
42 changes: 21 additions & 21 deletions apps/docs/components/Comparison.astro
Original file line number Diff line number Diff line change
@@ -1,77 +1,77 @@
---
---
<section class="max-w-[1150px] mx-auto px-4 py-16 dq-reveal" id="comparison">
<div class="text-center mb-12">
<section class="max-w-[1150px] mx-auto px-4 py-12 sm:py-16 dq-reveal" id="comparison">
<div class="text-center mb-8 sm:mb-12">
<div class="text-[0.65rem] font-bold uppercase tracking-[0.12em] text-[#ea580c] mb-3">PaaS Paradigm Shift</div>
<h2 class="text-3xl md:text-5xl font-bold tracking-tight mb-4">
<h2 class="text-2xl sm:text-3xl md:text-5xl font-bold tracking-tight mb-4">
Stop fighting infrastructure.<br />
<span class="text-[#ea580c]">Start shipping instantly.</span>
</h2>
<p class="text-sm text-[#7f7f8a] max-w-xl mx-auto leading-relaxed">
<p class="text-xs sm:text-sm text-[#7f7f8a] max-w-xl mx-auto leading-relaxed">
Dequel replaces fragmented DevOps tools with a unified self-hosted platform.
</p>
</div>

<div class="grid grid-cols-1 md:grid-cols-2 gap-8 items-stretch">
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8 items-stretch">
<!-- Left Card: Traditional DevOps -->
<div class="bg-[#0c0c0e] border border-[#222228] hover:border-[#33333d] rounded-2xl p-8 md:p-10 flex flex-col justify-between transition-all duration-300 hover:-translate-y-1 hover:shadow-2xl">
<div class="bg-[#0c0c0e] border border-[#222228] hover:border-[#33333d] rounded-2xl p-6 sm:p-8 md:p-10 flex flex-col justify-between transition-all duration-300 hover:-translate-y-1 hover:shadow-2xl">
<div>
<div class="mb-6">
<div class="mb-5 sm:mb-6">
<span class="inline-block bg-[#161619] border border-[#27272a] text-[#a1a1aa] text-[0.65rem] font-mono font-semibold px-2.5 py-1 rounded">
TRADITIONAL DEVOPS
</span>
</div>
<h3 class="text-2xl md:text-3xl font-bold text-white tracking-tight mb-8 font-display">
<h3 class="text-xl sm:text-2xl md:text-3xl font-bold text-white tracking-tight mb-6 sm:mb-8 font-display">
More tools. More upkeep.
</h3>
<ul class="space-y-4 mb-8">
<li class="flex items-start text-sm text-[#a1a1aa] leading-relaxed">
<ul class="space-y-3.5 sm:space-y-4 mb-6 sm:mb-8">
<li class="flex items-start text-xs sm:text-sm text-[#a1a1aa] leading-relaxed">
<span class="text-[#52525b] font-bold mr-3 select-none">—</span>
<span>Maintain scripts, manifests, and ingress rules</span>
</li>
<li class="flex items-start text-sm text-[#a1a1aa] leading-relaxed">
<li class="flex items-start text-xs sm:text-sm text-[#a1a1aa] leading-relaxed">
<span class="text-[#52525b] font-bold mr-3 select-none">—</span>
<span>Renew certificates and route domains by hand</span>
</li>
<li class="flex items-start text-sm text-[#a1a1aa] leading-relaxed">
<li class="flex items-start text-xs sm:text-sm text-[#a1a1aa] leading-relaxed">
<span class="text-[#52525b] font-bold mr-3 select-none">—</span>
<span>Stitch together logs, metrics, and alerts</span>
</li>
</ul>
</div>
<div class="border-t border-[#222228] pt-6 text-xs font-mono text-[#52525b]">
<div class="border-t border-[#222228] pt-5 sm:pt-6 text-xs font-mono text-[#52525b]">
High overhead · Fragmented stack
</div>
</div>

<!-- Right Card: With Dequel -->
<div class="bg-[#0c0c0e] border-2 border-[#ea580c] rounded-2xl p-8 md:p-10 flex flex-col justify-between shadow-xl shadow-orange-950/20 transition-all duration-300 hover:-translate-y-1.5 hover:shadow-2xl hover:shadow-orange-950/40 relative overflow-hidden group">
<div class="bg-[#0c0c0e] border-2 border-[#ea580c] rounded-2xl p-6 sm:p-8 md:p-10 flex flex-col justify-between shadow-xl shadow-orange-950/20 transition-all duration-300 hover:-translate-y-1.5 hover:shadow-2xl hover:shadow-orange-950/40 relative overflow-hidden group">
<div class="absolute -top-24 -right-24 w-48 h-48 bg-[#ea580c]/10 rounded-full blur-2xl pointer-events-none group-hover:bg-[#ea580c]/20 transition-all duration-500"></div>
<div>
<div class="mb-6">
<div class="mb-5 sm:mb-6">
<span class="inline-block bg-[#ea580c] text-white text-[0.65rem] font-mono font-bold px-2.5 py-1 rounded">
WITH DEQUEL
</span>
</div>
<h3 class="text-2xl md:text-3xl font-bold text-white tracking-tight mb-8 font-display">
<h3 class="text-xl sm:text-2xl md:text-3xl font-bold text-white tracking-tight mb-6 sm:mb-8 font-display">
One command. One platform.
</h3>
<ul class="space-y-4 mb-8">
<li class="flex items-start text-sm text-[#e4e4e7] leading-relaxed">
<ul class="space-y-3.5 sm:space-y-4 mb-6 sm:mb-8">
<li class="flex items-start text-xs sm:text-sm text-[#e4e4e7] leading-relaxed">
<span class="text-[#ea580c] font-bold mr-3 select-none">✓</span>
<span>Deploy from Git, ZIP, or Docker Compose</span>
</li>
<li class="flex items-start text-sm text-[#e4e4e7] leading-relaxed">
<li class="flex items-start text-xs sm:text-sm text-[#e4e4e7] leading-relaxed">
<span class="text-[#ea580c] font-bold mr-3 select-none">✓</span>
<span>Automate builds, SSL, routing, and scaling</span>
</li>
<li class="flex items-start text-sm text-[#e4e4e7] leading-relaxed">
<li class="flex items-start text-xs sm:text-sm text-[#e4e4e7] leading-relaxed">
<span class="text-[#ea580c] font-bold mr-3 select-none">✓</span>
<span>Keep complete control on your own VPS</span>
</li>
</ul>
</div>
<div class="border-t border-[#222228] pt-6 text-xs font-mono text-[#71717a]">
<div class="border-t border-[#222228] pt-5 sm:pt-6 text-xs font-mono text-[#71717a]">
Zero lock-in · 100% owned by you
</div>
</div>
Expand Down
38 changes: 19 additions & 19 deletions apps/docs/components/Features.astro
Original file line number Diff line number Diff line change
Expand Up @@ -88,28 +88,28 @@ scaling_policy:
];
---

<section class="max-w-[1150px] mx-auto px-4 py-20 dq-reveal" id="features">
<div class="text-center mb-10">
<section class="max-w-[1150px] mx-auto px-4 py-12 sm:py-20 dq-reveal" id="features">
<div class="text-center mb-8 sm:mb-10">
<div class="text-[0.65rem] font-bold uppercase tracking-[0.12em] text-[#ea580c] mb-3">Platform Capabilities</div>
<h2 class="text-3xl md:text-5xl font-bold tracking-tight mb-4">
<h2 class="text-2xl sm:text-3xl md:text-5xl font-bold tracking-tight mb-4">
Everything you need to ship.<br />
<span class="text-[#ea580c]">Powered by your infrastructure.</span>
</h2>
<p class="text-sm text-[#7f7f8a] max-w-xl mx-auto leading-relaxed">
<p class="text-xs sm:text-sm text-[#7f7f8a] max-w-xl mx-auto leading-relaxed">
Explore Dequel's core PaaS engines built into a single lightweight control plane.
</p>
</div>

<!-- Cloudflare-style Tab Navigation Bar -->
<div class="flex justify-center mb-12">
<div class="flex justify-center mb-8 sm:mb-12">
<div class="cf-tab-bar" id="cf-tab-container">
{tabs.map((tab, idx) => (
<button
class={`cf-tab-btn ${idx === 0 ? 'active' : ''}`}
data-tab={tab.id}
type="button"
>
<span set:html={tab.icon}></span>
<span class="shrink-0" set:html={tab.icon}></span>
<span>{tab.label}</span>
</button>
))}
Expand All @@ -123,24 +123,24 @@ scaling_policy:
id={`tab-panel-${tab.id}`}
class={`tab-panel ${idx === 0 ? 'block' : 'hidden'} transition-all duration-300`}
>
<div class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-stretch border border-[#222228] bg-[#111114] rounded-2xl p-8 md:p-10 shadow-2xl">
<div class="grid grid-cols-1 lg:grid-cols-12 gap-6 lg:gap-8 items-stretch border border-[#222228] bg-[#111114] rounded-2xl p-5 sm:p-8 md:p-10 shadow-2xl">
<!-- Left: Details -->
<div class="lg:col-span-6 flex flex-col justify-between">
<div class="lg:col-span-6 flex flex-col justify-between min-w-0">
<div>
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-[#ea580c]/10 text-[#ea580c] text-xs font-mono font-semibold mb-4">
<span>PaaS Module:</span>
<span class="uppercase">{tab.id}</span>
</div>
<h3 class="text-2xl md:text-3xl font-bold text-[#e2e2e8] mb-4">
<h3 class="text-xl sm:text-2xl md:text-3xl font-bold text-[#e2e2e8] mb-3 sm:mb-4">
{tab.title}
</h3>
<p class="text-xs md:text-sm text-[#7f7f8a] leading-relaxed mb-6">
<p class="text-xs md:text-sm text-[#7f7f8a] leading-relaxed mb-5 sm:mb-6">
{tab.description}
</p>
<ul class="space-y-3 mb-8">
<ul class="space-y-2.5 sm:space-y-3 mb-6 sm:mb-8">
{tab.highlights.map((item) => (
<li class="flex items-start gap-3 text-xs text-[#e2e2e8]">
<span class="text-[#ea580c] font-bold">✓</span>
<span class="text-[#ea580c] font-bold shrink-0">✓</span>
<span>{item}</span>
</li>
))}
Expand All @@ -155,13 +155,13 @@ scaling_policy:
</div>

<!-- Right: Code / Preview Box -->
<div class="lg:col-span-6 border border-[#222228] bg-[#000000] rounded-xl p-5 font-mono text-xs overflow-x-auto flex flex-col justify-between">
<div class="flex items-center justify-between border-b border-[#151519] pb-3 mb-4">
<div class="flex items-center gap-2">
<span class="w-2.5 h-2.5 rounded-full bg-[#ea580c]"></span>
<span class="text-[0.7rem] text-[#7f7f8a]">{tab.label} Preview</span>
<div class="lg:col-span-6 border border-[#222228] bg-[#000000] rounded-xl p-4 sm:p-5 font-mono text-xs overflow-hidden flex flex-col justify-between min-w-0">
<div class="flex items-center justify-between border-b border-[#151519] pb-3 mb-4 gap-2">
<div class="flex items-center gap-2 min-w-0">
<span class="w-2.5 h-2.5 rounded-full bg-[#ea580c] shrink-0"></span>
<span class="text-[0.7rem] text-[#7f7f8a] truncate">{tab.label} Preview</span>
</div>
<div class="flex items-center gap-2">
<div class="flex items-center gap-2 shrink-0">
<span class="text-[0.65rem] text-[#4b4b54]">Dequel v1.0</span>
<button
type="button"
Expand All @@ -180,7 +180,7 @@ scaling_policy:
</button>
</div>
</div>
<pre class="text-[#e2e2e8] leading-relaxed overflow-x-auto"><code>{tab.codePreview}</code></pre>
<pre class="text-[#e2e2e8] text-[11px] sm:text-xs leading-relaxed overflow-x-auto max-w-full"><code>{tab.codePreview}</code></pre>
<div class="mt-4 pt-3 border-t border-[#151519] text-[0.65rem] text-[#7f7f8a] flex items-center justify-between">
<span>Status: Active</span>
<span class="text-[#ea580c]">Zero Config Required</span>
Expand Down
Loading
Loading