diff --git a/README.md b/README.md index a94b917af..9df5cd0ef 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,8 @@ Have a question, an idea, or something you built with Storm? Join the conversati - [Share an idea](https://github.com/storm-orm/storm-framework/discussions/categories/ideas) for a future release. - [Show what you built](https://github.com/storm-orm/storm-framework/discussions/categories/show-and-tell). +To get in touch with the engineers behind Storm, for example while evaluating it for your team or project, write to [hello@orm.st](mailto:hello@orm.st). Already using Storm? Tell us what you built, and we will gladly list your company or project on [orm.st](https://orm.st). + If Storm is useful to you, a [star](https://github.com/storm-orm/storm-framework) helps other developers find it. ## License diff --git a/docs/index.md b/docs/index.md index 2ce012b53..89749c009 100644 --- a/docs/index.md +++ b/docs/index.md @@ -163,6 +163,8 @@ If you are a tech lead or architect evaluating Storm for a production system, th Release history, the issue tracker, the security policy, and the benchmark harness are linked from the [project home page](/). +To talk the evaluation through with the engineers behind Storm, write to [hello@orm.st](mailto:hello@orm.st). + ## What Storm Does Not Do Storm is focused on being a great ORM and SQL template engine. It intentionally does not include: diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 0fa5d1c59..6b8b27889 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -19,6 +19,10 @@ const GITHUB_REPO = 'https://github.com/storm-orm/storm-framework'; // would go unnoticed for a long time. const DISCORD = 'https://discord.gg/SgQpcweUJD'; +// The address that reaches the engineers behind Storm directly. Security and +// conduct reports have their own address, dev@orm.st. +const CONTACT_EMAIL = 'hello@orm.st'; + const config: Config = { title: 'Storm Framework', tagline: 'A modern, high-performance ORM for Kotlin 2.0+ and Java 21+', @@ -304,6 +308,7 @@ const config: Config = { {label: 'Discord', href: DISCORD}, {label: 'Issues', href: `${GITHUB_REPO}/issues`}, {label: 'Discussions', href: `${GITHUB_REPO}/discussions`}, + {label: 'Email the engineers', href: `mailto:${CONTACT_EMAIL}`}, {label: 'Contributing', href: `${GITHUB_REPO}/blob/main/CONTRIBUTING.md`}, {label: 'Security policy', href: `${GITHUB_REPO}/blob/main/SECURITY.md`}, {label: 'Apache 2.0 license', href: `${GITHUB_REPO}/blob/main/LICENSE.txt`}, diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 98760cb67..20b3e0641 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -23,6 +23,10 @@ const GH = 'https://github.com/storm-orm/storm-framework'; // facts a reader can check, and a chat link is a different kind of claim. const DISCORD = 'https://discord.gg/SgQpcweUJD'; +// The address that reaches the engineers behind Storm directly. Security and +// conduct reports have their own address, dev@orm.st. +const CONTACT_EMAIL = 'hello@orm.st'; + const CSS = ` :root{ --bg:#070709; --panel:#0f0f14; --panel-2:#0b0b0f; --statusbg:#08080b; @@ -149,6 +153,8 @@ const CSS = ` .storm-home .sub-lead{font-size:16.5px;margin-top:16px} .storm-home .hero-cta{margin-top:20px} .storm-home .hero-cta .btn{flex:1 1 100%;justify-content:center;height:44px} + .storm-home .hero-talk{align-items:flex-start;margin-top:14px;font-size:13.5px} + .storm-home .hero-talk .ico{margin-top:2px} .storm-home .stage{margin-top:34px} } .storm-home .sub{max-width:600px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.62} @@ -164,6 +170,14 @@ const CSS = ` /* Hero CTA: the primary conversion action, kept high so it sits above the fold on phones. */ .storm-home .hero-cta{margin-top:26px} + /* The invitation to talk sits under the buttons, quieter than them, so it + reads as the next option rather than a third call to action. The address + is the link text so a reader whose browser has no mail client behind + mailto can still copy it. */ + .storm-home .hero-talk{display:flex;align-items:center;gap:9px;margin:18px 0 0;color:var(--muted);font-size:14.5px;line-height:1.5} + .storm-home .hero-talk .ico{width:16px;height:16px;flex:none;color:var(--accent)} + .storm-home .hero-talk a{color:var(--accent);font-weight:600;white-space:nowrap} + .storm-home .hero-talk a:hover{text-decoration:underline} /* editor */ .storm-home .stage{margin:54px 0 0;max-width:880px} @@ -281,6 +295,19 @@ const CSS = ` .storm-home .scope a{display:inline-block;margin-top:12px;margin-right:18px;color:var(--accent);font-size:14px;font-weight:600} .storm-home .scope a:last-child{margin-right:0} .storm-home .scope a:hover{text-decoration:underline} + /* Direct contact with the engineers behind Storm: questions from teams + evaluating it, and word from teams already using it. The card above + carries the community channels. */ + .storm-home .contact{margin-top:20px;border:1px solid var(--border-soft);border-radius:14px;padding:26px 28px;background:var(--panel-2)} + .storm-home .contact .clabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} + .storm-home .contact h3{margin:8px 0 10px;font-size:19px;font-weight:650;letter-spacing:-.01em} + .storm-home .contact p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65;max-width:780px} + .storm-home .contact p + p{margin-top:10px} + .storm-home .contact .btn{margin-top:18px} + .storm-home .contact .btn .ico{width:15px;height:15px} + @media(max-width:600px){ + .storm-home .contact{padding:22px} + } .storm-home .verify{margin-top:34px;border-top:1px solid var(--border-soft);padding-top:22px} .storm-home .verify .vlabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} .storm-home .verify .vlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px} @@ -578,6 +605,7 @@ function buildBody(version) { Try it in 5 minutes → Compare with your ORM +
Evaluating Storm for your team or project? Talk to the engineers behind it: ${CONTACT_EMAIL}
Evaluating Storm for your team or project, stuck on a mapping, or missing a feature? Write to us directly.
+Already using Storm? Tell us what you built, and we will gladly list your company or project on this site.
+ ${CONTACT_EMAIL} +