diff --git a/docusaurus.config.js b/docusaurus.config.js
index f4b5912..8fae8fe 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -67,6 +67,11 @@ const config = {
label: 'Documentation',
position: 'left'
},
+ {
+ to: '/sponsors',
+ label: 'Sponsor',
+ position: 'left'
+ },
{
href: 'https://github.com/cucumber',
label: 'GitHub',
diff --git a/netlify.toml b/netlify.toml
new file mode 100644
index 0000000..2a70909
--- /dev/null
+++ b/netlify.toml
@@ -0,0 +1,4 @@
+[[redirects]]
+ from = "/tools/cucumber-open/sponsors"
+ to = "/sponsors"
+ status = 301
diff --git a/src/css/custom.scss b/src/css/custom.scss
index 8a57eaa..e8346f8 100644
--- a/src/css/custom.scss
+++ b/src/css/custom.scss
@@ -18,6 +18,12 @@
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
+.readable-blurb {
+ max-width: 60rem;
+ margin-left: auto;
+ margin-right: auto;
+}
+
.footer__copyright {
font-size: 0.75rem;
line-height: 1em;
diff --git a/src/pages/sponsors.module.scss b/src/pages/sponsors.module.scss
new file mode 100644
index 0000000..97d73c0
--- /dev/null
+++ b/src/pages/sponsors.module.scss
@@ -0,0 +1,56 @@
+.tiersList {
+ display: flex;
+ list-style: none;
+ padding: 0;
+ margin: -0.5rem;
+}
+
+.tiersItem {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ width: calc(25% - 1rem);
+ padding: 2rem;
+ border: 1px solid var(--ifm-color-secondary);
+ margin: 0.5rem;
+}
+
+@media all and (max-width: 799px) {
+ .tiersList {
+ flex-wrap: wrap;
+ }
+
+ .tiersItem {
+ width: calc(50% - 1rem);
+ }
+}
+
+@media all and (max-width: 499px) {
+
+ .tiersItem {
+ width: 100%;
+ }
+}
+
+.tiersAmount {
+ display: block;
+ font-weight: 300;
+ font-size: 2.5rem;
+ line-height: 1em;
+}
+
+.tiersFrequency {
+ display: block;
+ color: var(--ifm-color-secondary-darkest);
+ font-size: 0.875rem;
+}
+
+.tiersTitle {
+ margin-top: 0.5rem;
+}
+
+.reasonIllustration {
+ max-width: 80%;
+ max-height: 150px;
+}
diff --git a/src/pages/sponsors.tsx b/src/pages/sponsors.tsx
new file mode 100644
index 0000000..8cc358a
--- /dev/null
+++ b/src/pages/sponsors.tsx
@@ -0,0 +1,102 @@
+import React, {FC} from "react";
+import Layout from "@theme/Layout";
+import Link from "@docusaurus/Link";
+import styles from './sponsors.module.scss'
+import clsx from "clsx";
+
+const numberFormat = new Intl.NumberFormat("en", { style: "currency", currency: "USD", maximumFractionDigits: 0 })
+
+const tiers = [
+ {
+ title: 'Individual',
+ description: 'For individuals who want to support the project',
+ amount: 5,
+ url: 'https://opencollective.com/cucumber/contribute/monthly-backers-182/checkout',
+ from: true
+ },
+ {
+ title: 'Bronze',
+ description: 'For small organisations; our most popular tier',
+ amount: 100,
+ url: 'https://opencollective.com/cucumber/contribute/bronze-sponsors-181/checkout',
+ from: false
+ },
+ {
+ title: 'Silver',
+ description: 'For organisations of more than 50 people',
+ amount: 250,
+ url: 'https://opencollective.com/cucumber/contribute/silver-sponsors-3222/checkout',
+ from: false
+ },
+ {
+ title: 'Gold',
+ description: 'For organisations of more than 100 people',
+ amount: 500,
+ url: 'https://opencollective.com/cucumber/contribute/gold-sponsors-3224/checkout',
+ from: false
+ }
+] as const
+
+const Tiers: FC = () => {
+ return
+ {tiers.map(tier => {
+ return
+
+
{numberFormat.format(tier.amount)}
+
{tier.from && 'or above, '}monthly
+
{tier.title}
+
{tier.description}
+
+
+ Sponsor
+
+
+ })}
+
+}
+
+export default function Sponsors() {
+ return
+
+
+
Sponsor Cucumber
+
Cucumber was downloaded over 100 million times in 2023.
+
Thousands of companies rely on Cucumber tests to validate their software. We are a team of volunteers who maintain the core Gherkin parser, the Java, Ruby, JavaScript and Go flavoured implementations of Cucumber. That's a lot of work!
+
Your sponsorship ensures the team can get paid for their time, and ensures Cucumber will remain a reliable and fun way to test your software for years to come.
+
+
+
+
If you can, we'd love for you to commit a regular amount to support Cucumber
+
+
+
+
Or, you can always make a one-time donation
+
+ Donate
+
+
+
+
+
Why sponsor?
+
Your sponsorship will directly contribute to the core team's most important and impactful work:
+
+
+
+
Boring stuff
+
Releases, security, bug fixes, issue triage. Domains, hosting, tools, admin. Unglamorous but essential.
+
+
+
+
Extensibility
+
Adapting our architecture so you - and other tools you love - can extend Cucumber for whatever you need.
+
+
+
+
Documentation
+
Expanding and improving the docs so it's as easy as possible for people to be successful with Cucumber.
+
+
+
+
+
+}
diff --git a/static/img/illustrations/admin.svg b/static/img/illustrations/admin.svg
new file mode 100644
index 0000000..9240024
--- /dev/null
+++ b/static/img/illustrations/admin.svg
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/img/illustrations/code.svg b/static/img/illustrations/code.svg
new file mode 100644
index 0000000..d8fbc36
--- /dev/null
+++ b/static/img/illustrations/code.svg
@@ -0,0 +1 @@
+
diff --git a/static/img/illustrations/docs.svg b/static/img/illustrations/docs.svg
new file mode 100644
index 0000000..efbaafe
--- /dev/null
+++ b/static/img/illustrations/docs.svg
@@ -0,0 +1 @@
+