Skip to content

Commit de2e186

Browse files
committed
docs(site): refine download page layout and copy
Center OS picker, prerequisites table before install steps, shorter copy without losing setup context. No release.
1 parent 8e29bb0 commit de2e186

3 files changed

Lines changed: 77 additions & 54 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1616

1717
### Changed
1818

19+
- Download page (`site/download.html`): centered OS picker, clearer prerequisites table, tighter install steps, condensed trust section.
1920
- README header uses `site/gitdock-logo-removebg-preview.png` (transparent logo for GitHub light and dark themes).
2021
- `server.js` imports validation helpers from `lib/` (behavior preserved; easier to test).
2122
- Account name validation now rejects names that require stripping unsafe characters (e.g. `bad name!`, `work;rm`).

scripts/pr-site-download-body.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Summary
2+
3+
Improves the gitdock.dev download page layout and copy: clearer prerequisites, shorter install flow, centered platform buttons, no redundant Node.js row.
4+
5+
## What changed
6+
7+
- **Download card:** OS buttons (Windows / macOS / Linux) centered
8+
- **Before you start:** moved above install steps; 3-row table (Git, `gh`, SSH); standalone zip note (no Node.js)
9+
- **How to install:** 4 steps per OS; first-run workspace + Add Account only (no repeat of prerequisites)
10+
- **OS warnings:** shorter SmartScreen / Gatekeeper text
11+
- **Why it's safe:** 3 bullets (open source + CI builds, localhost, no tracking)
12+
- Hero clarifies **no GitDock signup** (GitHub setup stays in-app)
13+
14+
## Release
15+
16+
**No GitHub Release or version bump.** Site-only change (redeploy `site/` when you publish the site).
17+
18+
## Test plan
19+
20+
- [x] Open `site/download.html` locally and switch OS tabs
21+
- [ ] After deploy: spot-check https://www.gitdock.dev/download.html

site/download.html

Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@
8484
.dl-alt a{color:var(--t2);font-size:13px}
8585

8686
/* Other platforms */
87-
.dl-others{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}
88-
.dl-others-label{font-size:12px;color:var(--t3);width:100%;margin-bottom:4px}
87+
.dl-others{display:flex;flex-direction:column;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);text-align:center}
88+
.dl-others-label{font-size:12px;color:var(--t3);margin-bottom:10px}
89+
.dl-others-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
8990
.btn-other{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--t2);font-size:13px;transition:all .2s;text-decoration:none;cursor:pointer}
9091
.btn-other:hover{border-color:var(--t3);color:var(--t1);text-decoration:none}
9192
.btn-other.active{border-color:var(--blue);color:var(--blue)}
@@ -109,11 +110,15 @@
109110
.os-warning strong{color:var(--yellow);font-weight:500}
110111

111112
/* Requirements */
112-
.req-list{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0}
113-
.req-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--t2);padding:8px 0;width:50%}
114-
.req-list li svg{flex-shrink:0}
115-
.req-list li strong{color:var(--t1);font-weight:500}
116-
.req-optional{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--bg2);color:var(--t3);margin-left:2px}
113+
.req-lead{font-size:14px;color:var(--t2);margin-bottom:14px;line-height:1.55}
114+
.req-box{border:1px solid var(--border);border-radius:8px;background:var(--bg1);overflow:hidden}
115+
.req-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border)}
116+
.req-row:last-child{border-bottom:none}
117+
.req-name{font-weight:600;color:var(--t1);flex-shrink:0}
118+
.req-detail{color:var(--t2);text-align:right;line-height:1.45}
119+
.req-foot{margin-top:12px;font-size:13px;color:var(--t3);line-height:1.55}
120+
.req-foot strong{color:var(--t2);font-weight:500}
121+
.req-box code{background:var(--bg0);padding:1px 5px;border-radius:4px;font-size:12px;color:var(--blue)}
117122

118123
/* Trust */
119124
.trust-list{list-style:none;margin:0;padding:0}
@@ -141,12 +146,12 @@
141146
.dl-card{padding:24px}
142147
.dl-meta{gap:16px}
143148
.dl-hero h1{font-size:24px}
144-
.dl-others{flex-direction:column}
145149
.dl-actions{flex-direction:column;align-items:flex-start}
146150
}
147151
@media(max-width:480px){
148152
.dl-detected{flex-direction:column;text-align:center}
149-
.req-list li{width:100%}
153+
.req-row{flex-direction:column;align-items:flex-start;gap:4px}
154+
.req-detail{text-align:left}
150155
}
151156
</style>
152157
</head>
@@ -173,7 +178,7 @@
173178
<!-- Hero -->
174179
<div class="dl-hero">
175180
<h1>Download <span class="grad">GitDock</span></h1>
176-
<p>Free, open-source, and runs 100% on your machine. No account required. No data collected.</p>
181+
<p>Free, open-source, runs on your machine only. No GitDock signup; no data collected.</p>
177182
</div>
178183

179184
<!-- Main download card -->
@@ -219,6 +224,7 @@ <h2 id="os-title">Detecting your system...</h2>
219224

220225
<div class="dl-others">
221226
<div class="dl-others-label">Also available for:</div>
227+
<div class="dl-others-row">
222228
<button class="btn-other" data-platform="windows-x64" id="btn-windows">
223229
<svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M1 2.5A1.5 1.5 0 0 1 2.5 1h4v6.5H1V2.5ZM1 9h5.5v6H2.5A1.5 1.5 0 0 1 1 13.5V9Zm7.5 6V9H15v4.5a1.5 1.5 0 0 1-1.5 1.5H8.5ZM15 7.5H8.5V1h5A1.5 1.5 0 0 1 15 2.5v5Z"/></svg>
224230
Windows
@@ -231,9 +237,36 @@ <h2 id="os-title">Detecting your system...</h2>
231237
<svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm3.5 9H8.25a.75.75 0 0 1-.75-.75V4.5a.75.75 0 0 1 1.5 0v3h2.5a.75.75 0 0 1 0 1.5Z"/></svg>
232238
Linux
233239
</button>
240+
</div>
241+
</div>
242+
</div>
243+
244+
<!-- Requirements (before install steps) -->
245+
<div class="dl-section">
246+
<h3>
247+
<svg width="18" height="18" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
248+
Before you start
249+
</h3>
250+
<p class="req-lead">Standalone zip (no Node.js). On your computer:</p>
251+
<div class="req-box">
252+
<div class="req-row">
253+
<span class="req-name">Git</span>
254+
<span class="req-detail">clone, pull, commit, push</span>
255+
</div>
256+
<div class="req-row">
257+
<span class="req-name">GitHub CLI (<code>gh</code>)</span>
258+
<span class="req-detail">list repos, GitHub API</span>
259+
</div>
260+
<div class="req-row">
261+
<span class="req-name">SSH to GitHub</span>
262+
<span class="req-detail">guided in the app per account</span>
263+
</div>
234264
</div>
265+
<p class="req-foot">Install from source needs Node.js — <a href="https://github.com/gitdock-dev/gitdock#prerequisites" target="_blank" rel="noopener">README prerequisites</a>.</p>
235266
</div>
236267

268+
<div class="dl-divider"></div>
269+
237270
<!-- Installation steps -->
238271
<div class="dl-section" id="install-section">
239272
<h3>
@@ -246,12 +279,12 @@ <h3>
246279
<ol class="install-steps">
247280
<li>Download the <strong>.zip</strong> file above</li>
248281
<li>Extract the zip to a folder of your choice (e.g. <code>C:\GitDock</code>)</li>
249-
<li>Double-click <strong>gitdock.exe</strong> to start</li>
250-
<li>GitDock opens in your browser at <code>localhost:3847</code></li>
282+
<li>Run <strong>gitdock.exe</strong> → browser opens at <code>localhost:3847</code></li>
283+
<li>First run: choose a <strong>workspace</strong>, then <strong>Add Account</strong> (in-app setup)</li>
251284
</ol>
252285
<div class="os-warning">
253286
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--yellow)"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575ZM8 5a.75.75 0 0 0-.75.75v2.5a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8 5Zm1 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z"/></svg>
254-
<p><strong>Windows SmartScreen</strong> may show a warning since the app is unsigned. Click "More info" then "Run anyway". This is standard for open-source apps. <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">View the source code</a>.</p>
287+
<p><strong>SmartScreen</strong> may warn (unsigned build): More infoRun anyway. <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">Source on GitHub</a>.</p>
255288
</div>
256289
</div>
257290

@@ -260,12 +293,12 @@ <h3>
260293
<ol class="install-steps">
261294
<li>Download the <strong>.zip</strong> file above</li>
262295
<li>Extract the zip (double-click or <code>unzip gitdock-macos-x64.zip</code>)</li>
263-
<li>Open Terminal, navigate to the folder, and run <code>./gitdock</code></li>
264-
<li>GitDock opens in your browser at <code>localhost:3847</code></li>
296+
<li>Run <code>./gitdock</code> in Terminal → <code>localhost:3847</code></li>
297+
<li>First run: choose a <strong>workspace</strong>, then <strong>Add Account</strong> (in-app setup)</li>
265298
</ol>
266299
<div class="os-warning">
267300
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--yellow)"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575ZM8 5a.75.75 0 0 0-.75.75v2.5a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8 5Zm1 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z"/></svg>
268-
<p><strong>macOS Gatekeeper</strong> may block the app. Go to System Settings > Privacy & Security > "Open Anyway", or run <code>xattr -cr ./gitdock</code>. <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">View the source code</a>.</p>
301+
<p><strong>Gatekeeper</strong> may block: Privacy & Security Open Anyway, or <code>xattr -cr ./gitdock</code>. <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">Source on GitHub</a>.</p>
269302
</div>
270303
</div>
271304

@@ -274,42 +307,14 @@ <h3>
274307
<ol class="install-steps">
275308
<li>Download the <strong>.zip</strong> file above</li>
276309
<li>Extract: <code>unzip gitdock-linux-x64.zip</code></li>
277-
<li>Make executable: <code>chmod +x gitdock</code></li>
278-
<li>Run: <code>./gitdock</code> (opens in your browser at <code>localhost:3847</code>)</li>
310+
<li><code>chmod +x gitdock</code>, then <code>./gitdock</code><code>localhost:3847</code></li>
311+
<li>First run: choose a <strong>workspace</strong>, then <strong>Add Account</strong> (in-app setup)</li>
279312
</ol>
280313
</div>
281314
</div>
282315

283316
<div class="dl-divider"></div>
284317

285-
<!-- Requirements -->
286-
<div class="dl-section">
287-
<h3>
288-
<svg width="18" height="18" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
289-
Requirements
290-
</h3>
291-
<ul class="req-list">
292-
<li>
293-
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
294-
<strong>Git</strong> installed
295-
</li>
296-
<li>
297-
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
298-
<strong>GitHub CLI</strong> (gh)
299-
</li>
300-
<li>
301-
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
302-
<strong>SSH key</strong> configured
303-
</li>
304-
<li>
305-
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--t3)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
306-
<strong>Node.js</strong> <span class="req-optional">not needed for standalone</span>
307-
</li>
308-
</ul>
309-
</div>
310-
311-
<div class="dl-divider"></div>
312-
313318
<!-- Trust / Why it's safe -->
314319
<div class="dl-section">
315320
<h3>
@@ -319,19 +324,15 @@ <h3>
319324
<ul class="trust-list">
320325
<li>
321326
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
322-
<strong>100% open source</strong>: every line of code is public on <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">GitHub</a>
323-
</li>
324-
<li>
325-
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
326-
<strong>Runs on localhost only</strong>: binds to 127.0.0.1, no network exposure
327+
<strong>Open source</strong> on <a href="https://github.com/gitdock-dev/gitdock" target="_blank" rel="noopener">GitHub</a>; releases built by GitHub Actions
327328
</li>
328329
<li>
329330
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
330-
<strong>Zero tracking</strong>: no analytics, no ads, no data collection
331+
<strong>Local only</strong>: 127.0.0.1, no exposure to your network
331332
</li>
332333
<li>
333334
<svg width="14" height="14" viewBox="0 0 16 16" fill="var(--green)"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"/></svg>
334-
<strong>Built by GitHub Actions</strong>: release artifacts are automated, not manual uploads
335+
<strong>No tracking</strong>: no analytics, ads, or data collection
335336
</li>
336337
</ul>
337338
</div>
@@ -346,7 +347,7 @@ <h3>
346347
<a href="./terms.html">Terms of Service</a>
347348
<a href="mailto:support@gitdock.dev">Contact</a>
348349
</div>
349-
<p>GitDock | Open source. Built for developers who want to organize their Git projects and stop wasting time.</p>
350+
<p>GitDock · Open source · <a href="./privacy.html">Privacy</a></p>
350351
</footer>
351352

352353
<script>

0 commit comments

Comments
 (0)