Skip to content

Commit 84d3531

Browse files
committed
Merge remote-tracking branch 'origin/main' into seo/one-url-per-page-and-engine-archives
2 parents e29b325 + 0d3391b commit 84d3531

7 files changed

Lines changed: 9933 additions & 41 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
steps:
8181
- name: Deploy to GitHub Pages
8282
id: deployment
83-
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
83+
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1
8484

8585
- name: Deploy summary
8686
if: always()

‎cms/bun.lock‎

Lines changed: 44 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎cms/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"start": "next start -p 3000"
1010
},
1111
"dependencies": {
12-
"next": "16.2.11",
12+
"next": "16.3.3",
1313
"next-themes": "0.4.6",
1414
"outstatic": "2.2.4",
1515
"react": "19.2.4",

‎public/helper/0.16.1.html‎

Lines changed: 9629 additions & 0 deletions
Large diffs are not rendered by default.

‎site.config.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"domain": "libredb.org",
66
"tagline": "The database editor that deploys next to your data.",
77
"description": "LibreDB Studio is the open-source database IDE that deploys next to your data instead of onto your laptop — one browser tab for PostgreSQL, MySQL, MongoDB, Redis and thirteen more engines, with SSO and audit built in.",
8-
"version": "0.13.4",
8+
"version": "0.16.1",
99
"license": "MIT",
1010
"company": "Sekoya Grup Bilişim ve Teknoloji Ltd. Şti., İstanbul",
1111
"copyrightYear": 2026,
@@ -43,6 +43,7 @@
4343
"/platform",
4444
"/compare",
4545
"/get-started",
46+
"/helper",
4647
"/playground",
4748
"/faq",
4849
"/privacy-policy",

‎src/pages/helper/index.astro‎

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
---
2+
import BaseLayout from '../../layouts/BaseLayout.astro';
3+
import { site } from '../../lib/site';
4+
5+
/**
6+
* The guide is a single self-contained file per release, not a versioned doc
7+
* tree, so this page is the address that does not move. Add the new release at
8+
* the top of the list on the day it ships; the previous one stays reachable
9+
* because someone who installed it is still reading about it.
10+
*/
11+
const guides = [
12+
{
13+
version: '0.16.1',
14+
href: '/helper/0.16.1.html',
15+
published: '2026-09-20',
16+
size: '6.0 MB',
17+
current: true,
18+
},
19+
];
20+
21+
const current = guides.find((g) => g.current) ?? guides[0];
22+
23+
const schema = [
24+
{
25+
'@type': 'TechArticle',
26+
headline: `${site.name} installation guide`,
27+
description:
28+
'A single-file installation guide for LibreDB Studio: 22 install routes, a walkthrough of the application, every setting, in 13 languages.',
29+
url: `${site.url}/helper/`,
30+
about: { '@type': 'SoftwareApplication', name: site.name, applicationCategory: 'DeveloperApplication' },
31+
publisher: { '@id': `${site.url}/#organization` },
32+
},
33+
];
34+
---
35+
36+
<BaseLayout
37+
path="/helper/"
38+
title="Installation guide"
39+
description="The LibreDB Studio installation guide: one self-contained page per release, 22 install routes, every setting, in 13 languages. Open it in a browser or save it and read it offline."
40+
schema={schema}
41+
>
42+
<section class="guide" aria-labelledby="guide-title">
43+
<div class="u-wash guide__wash" aria-hidden="true"></div>
44+
<div class="guide__inner u-container">
45+
<p class="u-eyebrow">Installation guide</p>
46+
<h1 class="guide__title" id="guide-title">
47+
One page, <span class="u-grad-brand">every way in</span>
48+
</h1>
49+
<p class="guide__intro">
50+
Someone installed LibreDB Studio on each of these platforms, wrote down what actually happened, and
51+
screenshotted it. That is the whole guide: 22 install routes, a walkthrough of the application, every setting it
52+
exposes, and the notes on what was tested and what was not. It is one file with the images and fonts inside it,
53+
so it opens with no network and nothing to install.
54+
</p>
55+
56+
<div class="guide__now">
57+
<div class="guide__nowhead">
58+
<p class="guide__kicker">Current</p>
59+
<h2 class="guide__h">Version {current.version}</h2>
60+
<p class="guide__meta">
61+
Published {current.published} · {current.size} · 13 languages
62+
</p>
63+
</div>
64+
<div class="guide__actions">
65+
<a class="guide__cta" href={current.href}>Open the guide</a>
66+
<a class="guide__alt" href={current.href} download>Download it</a>
67+
</div>
68+
</div>
69+
70+
<p class="guide__note">
71+
The language picker sits at the top of the guide itself: English, Spanish, Japanese, Russian, Urdu, Chinese in
72+
both scripts, Polish, French, Italian, German, Indonesian and Portuguese. Printing it prints every section,
73+
collapsed ones included.
74+
</p>
75+
76+
<section class="guide__block" aria-labelledby="ver-h">
77+
<div class="guide__head">
78+
<p class="guide__kicker">By release</p>
79+
<h2 class="guide__h" id="ver-h">Older versions stay where they were</h2>
80+
</div>
81+
<p class="guide__blurb">
82+
Each release keeps its own address. A link you saved for the version you installed still opens the guide that
83+
matches it, rather than a newer page describing something you do not have.
84+
</p>
85+
<ul class="guide__list">
86+
{
87+
guides.map((g) => (
88+
<li class="guide__item">
89+
<a class="guide__link" href={g.href}>
90+
{g.version}
91+
</a>
92+
<span class="guide__when">{g.published}</span>
93+
<span class="guide__size">{g.size}</span>
94+
{g.current && <span class="guide__badge">current</span>}
95+
</li>
96+
))
97+
}
98+
</ul>
99+
</section>
100+
101+
<p class="guide__more">
102+
Installing rather than reading? <a href="/get-started">Get started</a> has the short path, and the provider documentation
103+
lives in the repository.
104+
<a href={site.links.docs} target="_blank" rel="noreferrer">Read the docs ↗</a>
105+
</p>
106+
</div>
107+
</section>
108+
</BaseLayout>
109+
110+
<style>
111+
.guide {
112+
position: relative;
113+
overflow: hidden;
114+
}
115+
.guide__wash {
116+
background: radial-gradient(
117+
700px 420px at 50% -10%,
118+
color-mix(in srgb, var(--primary-600) 10%, transparent),
119+
transparent 70%
120+
);
121+
}
122+
.guide__inner {
123+
position: relative;
124+
padding-block: clamp(3rem, 7vw, 5.5rem);
125+
}
126+
.guide__title {
127+
margin: 0.35rem 0 0;
128+
font-size: clamp(2rem, 5vw, 3.1rem);
129+
line-height: 1.08;
130+
letter-spacing: -0.02em;
131+
}
132+
.guide__intro {
133+
max-width: 62ch;
134+
margin: 1.1rem 0 0;
135+
color: var(--muted);
136+
line-height: 1.7;
137+
}
138+
.guide__now {
139+
display: flex;
140+
flex-wrap: wrap;
141+
align-items: center;
142+
justify-content: space-between;
143+
gap: 1.25rem;
144+
margin-top: 2.25rem;
145+
padding: clamp(1.1rem, 3vw, 1.6rem);
146+
border: 1px solid var(--border);
147+
border-radius: 14px;
148+
background: var(--surface);
149+
}
150+
.guide__kicker {
151+
margin: 0;
152+
font-size: 0.78rem;
153+
letter-spacing: 0.08em;
154+
text-transform: uppercase;
155+
color: var(--muted);
156+
}
157+
.guide__h {
158+
margin: 0.3rem 0 0;
159+
font-size: clamp(1.2rem, 2.4vw, 1.5rem);
160+
letter-spacing: -0.01em;
161+
}
162+
.guide__meta {
163+
margin: 0.4rem 0 0;
164+
font-size: 0.9rem;
165+
color: var(--muted);
166+
}
167+
.guide__actions {
168+
display: flex;
169+
flex-wrap: wrap;
170+
gap: 0.6rem;
171+
}
172+
.guide__cta,
173+
.guide__alt {
174+
display: inline-flex;
175+
align-items: center;
176+
padding: 0.7rem 1.15rem;
177+
border-radius: 10px;
178+
font-weight: 600;
179+
text-decoration: none;
180+
}
181+
.guide__cta {
182+
background: var(--primary-600);
183+
color: #fff;
184+
}
185+
.guide__alt {
186+
border: 1px solid var(--border);
187+
color: var(--fg);
188+
}
189+
.guide__cta:hover,
190+
.guide__alt:hover {
191+
filter: brightness(1.08);
192+
}
193+
.guide__note {
194+
max-width: 62ch;
195+
margin: 1.4rem 0 0;
196+
font-size: 0.95rem;
197+
color: var(--muted);
198+
line-height: 1.7;
199+
}
200+
.guide__block {
201+
margin-top: clamp(2.5rem, 6vw, 4rem);
202+
}
203+
.guide__head {
204+
margin-bottom: 0.9rem;
205+
}
206+
.guide__blurb {
207+
max-width: 62ch;
208+
margin: 0 0 1.1rem;
209+
color: var(--muted);
210+
line-height: 1.7;
211+
}
212+
.guide__list {
213+
margin: 0;
214+
padding: 0;
215+
list-style: none;
216+
border: 1px solid var(--border);
217+
border-radius: 14px;
218+
overflow: hidden;
219+
}
220+
.guide__item {
221+
display: flex;
222+
flex-wrap: wrap;
223+
align-items: center;
224+
gap: 0.75rem;
225+
padding: 0.85rem 1.1rem;
226+
border-bottom: 1px solid var(--border);
227+
}
228+
.guide__item:last-child {
229+
border-bottom: 0;
230+
}
231+
.guide__link {
232+
font-weight: 600;
233+
font-family: var(--font-mono, monospace);
234+
}
235+
.guide__when,
236+
.guide__size {
237+
font-size: 0.88rem;
238+
color: var(--muted);
239+
}
240+
.guide__badge {
241+
margin-left: auto;
242+
padding: 0.15rem 0.5rem;
243+
border: 1px solid var(--border);
244+
border-radius: 999px;
245+
font-size: 0.74rem;
246+
letter-spacing: 0.06em;
247+
text-transform: uppercase;
248+
color: var(--muted);
249+
}
250+
.guide__more {
251+
margin-top: clamp(2rem, 5vw, 3rem);
252+
color: var(--muted);
253+
}
254+
</style>

‎src/pages/llms.txt.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ const DESCRIPTIONS: Record<string, string> = {
2727
'/deploy': 'Every distribution channel that is live today — registries, package managers, Kubernetes and PaaS.',
2828
'/docker-compose': 'The canonical docker-compose.yml, byte for byte, with every environment variable explained.',
2929
'/get-started': 'From nothing to a running Studio, by container or by npx.',
30+
'/helper':
31+
'The installation guide: one self-contained page per release, 22 install routes, every setting, in 13 languages.',
3032
'/playground': 'Run the LibreDB database in the browser, with no install.',
3133
'/open-source': 'What the MIT licence permits, how to contribute, and how to report a vulnerability.',
3234
'/supporters':

0 commit comments

Comments
 (0)