diff --git a/book.toml b/book.toml index 22a4a07..edca495 100644 --- a/book.toml +++ b/book.toml @@ -9,3 +9,4 @@ build-dir = "book" [output.html] git-repository-url = "https://github.com/Rust-Commercial-Network/rcn" site-url = "/rcn/" +additional-css = ["theme/sponsors.css"] diff --git a/docs/funding-directory.md b/docs/funding-directory.md index 6f35dac..8f42b97 100644 --- a/docs/funding-directory.md +++ b/docs/funding-directory.md @@ -4,9 +4,7 @@ This directory lists Rust ecosystem work seeking funding from companies using Ru The initiatives below represent active funding opportunities. Most already have at least one supporting organization and are looking for additional partners. -To discuss funding, procurement, or sharing private production feedback, come to [Funding Initiative office hours](./funding-office-hours.md). For async public discussion, join us on the [commercial-network channel in Rust Project Zulip][zulip]. For private discussion or to schedule private office hours, contact [rust-commercial-network@rustfoundation.org][rcn-email]. - -RFEF sponsors may receive recognition, fund reporting, sponsorship coordination, and advance security disclosures when coordinated private notice is needed. +Rust Foundation Ecosystem Fund (RFEF) sponsors may receive recognition, fund reporting, sponsorship coordination, and advance security disclosures when coordinated private notice is needed. ## How to Help @@ -20,13 +18,21 @@ Use public project venues for technical feedback when possible. If confidential Named contributors and related projects are included to identify likely contacts and work owners. Inclusion does not mean the RCN, Rust Foundation, or Rust Project has endorsed a specific technical decision. +## Contact + +For general questions about ecosystem funding, procurement, or sharing private production feedback, come to [Funding Initiative office hours](./funding-office-hours.md). For async public discussion, join us on the [commercial-network channel in Rust Project Zulip][zulip]. For private discussion or to schedule private office hours, contact [rust-commercial-network@rustfoundation.org][rcn-email]. + +For project-specific billing questions, use the billing contact listed inline beneath that project's funding status. + ## Build Performance ### Wild +
+ Wild is a [Rust Innovation Lab](https://rustfoundation.org/rust-innovation-lab/) project building a faster linker for Rust workloads. It addresses link time as a visible cost in CI or local development. Current work is aimed at large binaries, more platforms, and the missing linker features that prevent projects from trying Wild today. -The most useful sponsor input is real build data: linker timing profiles, crate graph shape, binary size, platform constraints, and failure cases. Maintainers will prioritize work that fits Wild's goals and available time. +The most useful sponsor input is real build data: linker timing profiles, crate graph shape, binary size, platform constraints, and failure cases. Funding also supports basic maintenance, PR review, and platform support work. Organizations planning contributions can use this support to coordinate with Wild's maintainers, while maintainers continue to prioritize work that fits Wild's goals and available time. Led by [David Lattimore (@davidlattimore)](https://github.com/davidlattimore). Related project: [Wild](https://github.com/wild-linker/wild). @@ -34,17 +40,31 @@ Led by [David Lattimore (@davidlattimore)](https://github.com/davidlattimore). R |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Joel Marcey ([contact](https://calendly.com/joelmarcey), [profile](https://github.com/JoelMarcey)). + ### Faster Builds Roadmap The Faster Builds Roadmap is aimed at organizations where build time affects developer wait time, CI spend, or release latency. It would fund [bjorn3 (@bjorn3)][bjorn3] for an additional day per week of Rust build performance work, complementing time already contributed through [Tweede Golf][tweede-golf]. bjorn3 would spend the funded time on the roadmap items most likely to shorten real build times. -Related: [Faster Builds Roadmap][faster-builds-roadmap], [Tweede Golf][tweede-golf]. +Related: [Faster Builds Roadmap][faster-builds-roadmap]. | Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | |--------|--------|--------|--------| -| ❌ Not funded | ❌ Not funded | ❌ Not funded | ❌ Not funded | +| ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + + +**Billing contact:** Erik Jonkers ([contact](mailto:erik@rustnl.org), [RustNL](https://rustnl.org/)). + +**Contributor:** bjorn3 ([contact](https://rust-lang.zulipchat.com/#narrow/dm/133247-bjorn3), [profile](https://github.com/bjorn3)). ### Cargo Cross-Workspace Cache @@ -58,6 +78,12 @@ Related: [Cargo Cross-Workspace Cache][cargo-cross-workspace-cache], [Cargo][car |--------|--------|--------| | ✅ Funded | ✅ Funded | ⚠️ Partial | + + + + +**Billing contact:** Jess Izen ([contact and profile](https://book.jessizen.com/)). + ### Reusable Build Artifacts Today, `cargo check` and `cargo build` largely duplicate work, which matters for teams that run both in local development or CI. This project aims to make build artifacts reusable across both workflows, so work done for `cargo check` can carry into `cargo build`. @@ -70,25 +96,39 @@ Related: [Incremental Compilation System, Rethought][incremental-system-rethough |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Project contact:** Alejandra González ([contact](https://rust-lang.zulipchat.com/#narrow/dm/560802-Alejandra-Gonzalez), [profile](https://github.com/blyxyas)). + ### Cranelift Cranelift is an alternative Rust code generation backend. The current goal is a 2x speedup in Cranelift code generation for debug builds, reducing local compile time for teams rebuilding large Rust services many times per day. Sponsor support would cover time for [bjorn3 (@bjorn3)][bjorn3] and [Folkert de Vries (@folkertdev)][folkertdev], through [Tweede Golf][tweede-golf], to work through the performance improvements in the project goal. -Related: [Cranelift Performance Improvements][cranelift-performance], [Cranelift][cranelift], [Tweede Golf][tweede-golf]. +Related: [Cranelift Performance Improvements][cranelift-performance], [Cranelift][cranelift]. | Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | |--------|--------|--------|--------| | ✅ Funded | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Erik Jonkers ([contact](mailto:erik@rustnl.org), [RustNL](https://rustnl.org/)). + +**Contributor:** bjorn3 ([contact](https://rust-lang.zulipchat.com/#narrow/dm/133247-bjorn3), [profile](https://github.com/bjorn3)). + ## Developer Experience and Tooling ### cargo-nextest `cargo-nextest` is a Rust test runner used in local development and CI. For teams whose Rust test suites gate releases, slow or flaky runs can delay shipping. Maintenance funding pays for the work users rely on but do not always see: releases, issue triage, contributor review, platform support, and CI-scale fixes. -Funding would buy down unpaid maintenance work for [Rain (@sunshowers)](https://github.com/sunshowers): releases, issue triage, contributor review, and fixes requested by users running nextest in CI. RCN members can provide feedback, test cases, or contributions through the same public channels as other users. +Funding would buy down unpaid maintenance work for [Rain (@sunshowers)](https://github.com/sunshowers): releases, issue triage, contributor review, and fixes requested by users running nextest in CI. Organizations planning contributions can use this support to coordinate with Rain before investing in implementation, while technical decisions and reviews continue through the project's public channels. Related: [cargo-nextest](https://nexte.st/). @@ -96,8 +136,34 @@ Related: [cargo-nextest](https://nexte.st/). |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Rain ([contact and profile](https://github.com/sunshowers)). + +### Symposium + +[Symposium](https://symposium.dev/) helps Rust crates provide agent skills, MCP servers, and other development extensions based on project dependencies. Supported by AWS and [WyeWorks](https://www.wyeworks.com/), funding covers feature development and basic maintenance, including releases, issue triage, integration work, and review of contributions. + +Organizations planning contributions can use this support to coordinate with Symposium's maintainers before investing in implementation. Technical direction and contribution review remain with the project. + +Related: [Symposium](https://symposium.dev/), [Symposium on GitHub](https://github.com/symposium-dev/symposium). + +| Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | +|--------|--------|--------|--------| +| ✅ Funded | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + + +**Billing contact:** Joel Marcey ([contact](https://calendly.com/joelmarcey), [profile](https://github.com/JoelMarcey)). + ### cargo-semver-checks + + `cargo-semver-checks` helps Rust maintainers catch accidental SemVer breakage before publishing releases. This is especially useful for SDKs and libraries where breaking changes can disrupt downstream customers and make dependency upgrades risky. Funding would support work to close major coverage gaps and improve PR-based workflows. Current limitations include missing type-related breaking changes, missing cross-crate analysis for re-exports, and difficulty distinguishing breakage introduced by a new PR from breakage that already exists since the last published release. @@ -112,11 +178,17 @@ Related: |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Predrag Gruevski ([contact](https://rust-lang.zulipchat.com/#narrow/dm/474284-Predrag-Gruevski), [profile](https://github.com/obi1kenobi)). + ### Cargo Maintenance Many Rust roadmap items need Cargo review or implementation work, including work on supply-chain policy, build reproducibility, C++ interoperability, signed crates, and sandboxed build scripts. This item funds general Cargo review and implementation time, not reserved reviewer time for funder-requested changes. -[Arlo Siemsen (@arlosi)](https://github.com/arlosi) would use additional funded time for Cargo review, mentoring, implementation, and moving accepted changes through Cargo review. Cargo maintainers and Rust Project teams retain authority over review, acceptance, prioritization, and release timing. +The work would be delivered through a Rust Project Maintainer in Residence, with the incoming maintainer providing Cargo review, mentoring, implementation, and support for moving accepted changes through review. Cargo maintainers and Rust Project teams retain authority over review, acceptance, prioritization, and release timing. Related: [Cargo][cargo], [crates.io][crates-io]. @@ -124,6 +196,12 @@ Related: [Cargo][cargo], [crates.io][crates-io]. |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Jess Izen ([contact and profile](https://book.jessizen.com/)). + ### C and C++ Interoperability Many organizations adopting Rust continue to operate in mixed-language environments. Improving interoperability with existing C and C++ codebases lowers adoption barriers, simplifies migrations, and makes it easier to incrementally introduce Rust into existing systems. @@ -144,6 +222,12 @@ Links: |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contacts:** teor ([contact](https://rust-lang.zulipchat.com/#narrow/dm/325209-teor), [profile](https://github.com/teor2345)) and Erik Jonkers ([contact](mailto:erik@tweedegolf.com), [profile](https://tweedegolf.nl/en/about/6/erik/)). + ### Crate Namespaces Crate namespaces would help organizations publishing related crate families, internal platform crates, SDKs, or official packages. Namespaces would let those crates live under one namespace, making ownership clearer and reducing collisions with similarly named crates. @@ -156,6 +240,10 @@ Related: [RFC 3243][rfc-3243], [2026 project goal](https://rust-lang.github.io/r |--------|--------|--------| | ❌ Not funded | ❌ Not funded | ❌ Not funded | + + +**Project contact:** Takayuki Maeda ([contact](https://rust-lang.zulipchat.com/#narrow/dm/343125-Takayuki-Maeda), [profile](https://github.com/TaKO8Ki)). + ### Native async fn dynamic dispatch in traits Rust supports async fn in traits, but using async methods through dyn trait objects still requires workarounds such as #[async_trait], which add allocation overhead, obscure signatures, and split the ecosystem between native async traits and boxed trait-object patterns. @@ -170,6 +258,10 @@ Related: [Async fn in Traits][async-fn-traits], [rust-lang/rust][rust-lang-rust] |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + +**Billing contact:** Santiago Pastorino ([contact](https://rust-lang.zulipchat.com/#narrow/dm/116266-Santiago-Pastorino), [profile](https://github.com/spastorino)). + ## Language and Compiler ### Async State Machine Improvements @@ -184,6 +276,14 @@ Related: [project goal][async-state-machine-goal], [background][async-state-mach |--------|--------| | ✅ Funded | ⚠️ Partial | + + + + +**Billing contact:** Erik Jonkers ([contact](mailto:erik@tweedegolf.com), [profile](https://tweedegolf.nl/en/about/6/erik/)). + +**Contributor:** Dion Dokter ([contact](https://rust-lang.zulipchat.com/#narrow/dm/631861-Dion-Dokter), [profile](https://github.com/diondokter)). + ### rustc_public `rustc_public`(formerly Stable MIR) is intended to give external tools a supported way to read compiler data without depending on unstable rustc internals. That matters for static analysis, verification, GPU, compliance, and internal platform tooling. @@ -196,6 +296,10 @@ Related: [previous project goal][stable-mir-previous-goal], [rust-lang/rust][rus |--------|--------|--------|--------| | ❌ Not funded | ❌ Not funded | ❌ Not funded | ❌ Not funded | + + +**Billing contact:** Makai ([contact](https://rust-lang.zulipchat.com/#narrow/dm/759102-Makai), [profile](https://github.com/makai410)). + ### Binary Size Reduction A roadmap is being prepared for binary size reduction work led by [Nia Espera (@nia-e)](https://github.com/nia-e) and [Hexcat (@hexcatnl)](https://github.com/hexcatnl). The work is aimed at cases where Rust binary size affects cold-start time, memory footprint, storage pressure, firmware size, or rollout cost. Once the roadmap is published, support should focus on reductions that translate into lower cold-start time, smaller firmware or container images, and lower rollout cost for size-sensitive Rust users. @@ -206,7 +310,13 @@ Related: [rust-lang/rust][rust-lang-rust]. Binary-size roadmap link to be added | Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | |--------|--------|--------|--------| -| ❌ Not funded | ❌ Not funded | ❌ Not funded | ❌ Not funded | +| ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + + +**Billing contact:** Mara Bos ([contact](mailto:mara@rustnl.org), [profile](https://github.com/m-ou-se)). **Project contact:** Nia ([contact](https://rust-lang.zulipchat.com/#narrow/dm/571657-Nia), [profile](https://github.com/nia-e)). ### Declarative Macro Improvements @@ -220,10 +330,36 @@ Related: [Declarative Macro Improvements][declarative-macro-improvements], [rust |--------|--------|--------|--------| | ❌ Not funded | ❌ Not funded | ❌ Not funded | ❌ Not funded | + + +**Billing contact:** Josh Triplett ([contact](https://rust-lang.zulipchat.com/#narrow/dm/239881-Josh-Triplett), [profile](https://github.com/joshtriplett)). + ## Production Systems +### Tokio Maintenance + + + +[Tokio](https://tokio.rs/) is maintained through ongoing releases, issue triage, PR review, contributor support, and coordination across its runtime and related crates. Funding supports this basic maintenance work independently of targeted runtime optimization projects. + +Organizations that want to contribute to Tokio can use this support to coordinate with maintainers before investing in implementation. Current sponsorship covers the displayed baseline maintenance period, while additional support can expand maintenance capacity and sustain it beyond those quarters. Funding does not buy technical priority or change Tokio's public design and review process. + +Related: [Tokio][tokio], [Tokio on GitHub](https://github.com/tokio-rs/tokio). + +| Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | +|--------|--------|--------|--------| +| ✅ Funded | ✅ Funded | ✅ Funded | ✅ Funded | + + + + + +**Billing contact:** Carl Lerche ([contact and profile](https://github.com/carllerche)). + ### Tokio Runtime Optimizations + + [Tokio](https://tokio.rs/) is the foundation for many Rust network services and async applications. Runtime and scheduler work matters when production workloads combine network IO, timers, and compute-heavy tasks, especially where scheduler behavior affects latency, fairness, CPU use, or incident risk. [Folkert de Vries (@folkertdev)][folkertdev] at [Tweede Golf][tweede-golf] is seeking support for runtime and scheduler improvements in Tokio. Production feedback from large Tokio users would be useful, especially where scheduler behavior affects latency or incidents. Maintainers still make changes through Tokio's public design and review process. @@ -234,11 +370,21 @@ Related: [Tokio][tokio], [time-based cooperative scheduling prototype][tokio-coo |--------|--------|--------|--------| | ✅ Funded | ❌ Not funded | ❌ Not funded | ❌ Not funded | + + + + +**Billing contact:** Erik Jonkers ([contact](mailto:erik@tweedegolf.com), [profile](https://tweedegolf.nl/en/about/6/erik/)). + +**Contributor:** Folkert de Vries ([contact](https://rust-lang.zulipchat.com/#narrow/dm/416089-Folkert-de-Vries), [profile](https://github.com/folkertdev)). + ### rustls + + [rustls][rustls] is a Rust Innovation Lab project that provides TLS functionality for many Rust applications and services. Production services that terminate or initiate TLS depend on timely security response, compatibility, and connection-heavy performance. Maintenance support helps pay for security response, releases, dependent-crate compatibility, and production feedback work that otherwise competes with limited maintainer time. -[Dirkjan Ochtman (@djc)](https://github.com/djc) is seeking maintenance time for rustls security coordination, releases, contribution review, 1.0 work, async handshake performance, and production-user feedback. +[Dirkjan Ochtman (@djc)](https://github.com/djc) is seeking maintenance time for rustls security coordination, releases, contribution review, 1.0 work, async handshake performance, and production-user feedback. Organizations planning contributions can use this support to coordinate with rustls maintainers before investing in implementation. Related: [rustls][rustls]. @@ -246,11 +392,33 @@ Related: [rustls][rustls]. |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + +**Billing contact:** Joel Marcey ([contact](https://calendly.com/joelmarcey), [profile](https://github.com/JoelMarcey)). + +### dial9 Maintenance and Feature Development + +[dial9](https://github.com/dial9-rs/dial9-tokio-telemetry) is a flight recorder for diagnosing performance problems in Tokio and other applications running in production. Funding supports ongoing PR review, platform support, performance optimizations, and feature development through [WyeWorks](https://www.wyeworks.com/). + +| Q3 '26 | Q4 '26 | Q1 '27 | Q2 '27 | +|--------|--------|--------|--------| +| ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | + + + + + +**Billing contact:** Santiago Pastorino ([contact](https://rust-lang.zulipchat.com/#narrow/dm/116266-Santiago-Pastorino), [profile](https://github.com/spastorino)). + ### Hyperium + + [Hyperium][hyperium] maintains Hyper, Tower, h2, and related networking crates used by Rust services. Teams depend on those crates for availability, protocol correctness, observability, and performance. -[Sean McArthur (@seanmonstar)](https://github.com/seanmonstar) is seeking time for the work that keeps Hyperium crates healthy: releases, issue triage, modularization, h2 performance, buffer pooling, observability, and production-user feedback. +[Sean McArthur (@seanmonstar)](https://github.com/seanmonstar) is seeking time for the work that keeps Hyperium crates healthy: releases, issue triage, contribution and PR review, modularization, h2 performance, buffer pooling, observability, and production-user feedback. Organizations planning contributions can use this support to coordinate with Hyperium maintainers before investing in implementation. Related: [Hyperium Roadmap][hyperium-roadmap]. @@ -258,9 +426,11 @@ Related: [Hyperium Roadmap][hyperium-roadmap]. |--------|--------|--------|--------| | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | ⚠️ Partial | -## Contact + + + -To discuss funding, procurement, or private production feedback, come to [Funding Initiative office hours](./funding-office-hours.md). For async public discussion, join us on the [commercial-network channel in Rust Project Zulip][zulip]. For private discussion or to schedule private office hours, contact [rust-commercial-network@rustfoundation.org][rcn-email]. +**Billing contact:** Sean McArthur ([contact](https://rust-lang.zulipchat.com/#narrow/dm/243965-Sean-McArthur), [profile](https://github.com/seanmonstar)). ## Fully Funded @@ -276,6 +446,14 @@ Related: [F16 Stabilization][f16-stabilization], [rust-lang/rust][rust-lang-rust |--------|--------| | ✅ Funded | ✅ Funded | + + + + +**Billing contact:** Erik Jonkers ([contact](mailto:erik@tweedegolf.com), [profile](https://tweedegolf.nl/en/about/6/erik/)). + +**Contributor:** Folkert de Vries ([contact](https://rust-lang.zulipchat.com/#narrow/dm/416089-Folkert-de-Vries), [profile](https://github.com/folkertdev)). + [async-fn-traits]: https://rust-lang.github.io/rust-project-goals/2026/afidt-box.html#funding [async-state-machine-background]: https://tweedegolf.nl/en/blog/237/async-rust-never-left-the-mvp-state [async-state-machine-goal]: https://rust-lang.github.io/rust-project-goals/2026/async-statemachine-optimisation.html#funding diff --git a/docs/images/projects/cargo-semver-checks-logo.svg b/docs/images/projects/cargo-semver-checks-logo.svg new file mode 100644 index 0000000..f52f29d --- /dev/null +++ b/docs/images/projects/cargo-semver-checks-logo.svg @@ -0,0 +1 @@ + diff --git a/docs/images/projects/hyper-logo.svg b/docs/images/projects/hyper-logo.svg new file mode 100644 index 0000000..c73ec56 --- /dev/null +++ b/docs/images/projects/hyper-logo.svg @@ -0,0 +1,7 @@ + + diff --git a/docs/images/projects/rustls-logo.svg b/docs/images/projects/rustls-logo.svg new file mode 100644 index 0000000..dfaa91b --- /dev/null +++ b/docs/images/projects/rustls-logo.svg @@ -0,0 +1,629 @@ + + + + + diff --git a/docs/images/projects/tokio-logo.svg b/docs/images/projects/tokio-logo.svg new file mode 100644 index 0000000..64f5cbe --- /dev/null +++ b/docs/images/projects/tokio-logo.svg @@ -0,0 +1,16 @@ + + diff --git a/docs/images/projects/wild-logo.svg b/docs/images/projects/wild-logo.svg new file mode 100644 index 0000000..08914c4 --- /dev/null +++ b/docs/images/projects/wild-logo.svg @@ -0,0 +1 @@ + diff --git a/docs/images/sponsors/arm.svg b/docs/images/sponsors/arm.svg new file mode 100644 index 0000000..4dcbf8a --- /dev/null +++ b/docs/images/sponsors/arm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/sponsors/aws.png b/docs/images/sponsors/aws.png new file mode 100644 index 0000000..5c11f91 Binary files /dev/null and b/docs/images/sponsors/aws.png differ diff --git a/docs/images/sponsors/google.png b/docs/images/sponsors/google.png new file mode 100644 index 0000000..3522195 Binary files /dev/null and b/docs/images/sponsors/google.png differ diff --git a/docs/images/sponsors/hexcat.svg b/docs/images/sponsors/hexcat.svg new file mode 100644 index 0000000..5276dc0 --- /dev/null +++ b/docs/images/sponsors/hexcat.svg @@ -0,0 +1,4 @@ + + diff --git a/docs/images/sponsors/isrg.svg b/docs/images/sponsors/isrg.svg new file mode 100644 index 0000000..2b3ad7d --- /dev/null +++ b/docs/images/sponsors/isrg.svg @@ -0,0 +1,108 @@ + + + + diff --git a/docs/images/sponsors/openai-codex.png b/docs/images/sponsors/openai-codex.png new file mode 100644 index 0000000..3e546d4 Binary files /dev/null and b/docs/images/sponsors/openai-codex.png differ diff --git a/docs/images/sponsors/tweede-golf.png b/docs/images/sponsors/tweede-golf.png new file mode 100644 index 0000000..2056900 Binary files /dev/null and b/docs/images/sponsors/tweede-golf.png differ diff --git a/docs/images/sponsors/vectorware.png b/docs/images/sponsors/vectorware.png new file mode 100644 index 0000000..826a501 Binary files /dev/null and b/docs/images/sponsors/vectorware.png differ diff --git a/docs/images/sponsors/wyeworks.png b/docs/images/sponsors/wyeworks.png new file mode 100644 index 0000000..5af2d83 Binary files /dev/null and b/docs/images/sponsors/wyeworks.png differ diff --git a/theme/sponsors.css b/theme/sponsors.css new file mode 100644 index 0000000..9def56d --- /dev/null +++ b/theme/sponsors.css @@ -0,0 +1,73 @@ +.funding-sponsors, +.fiscal-sponsors { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + margin: 0.75rem 0; +} + +.sponsor-logos, +.fiscal-sponsor-logos { + align-items: center; + display: inline-flex; + flex-wrap: wrap; + gap: 0.5rem; +} + +.sponsor-logos a, +.fiscal-sponsor-logos a { + align-items: center; + background: #fff; + border: 1px solid rgba(127, 127, 127, 0.35); + border-radius: 0.25rem; + box-sizing: border-box; + display: inline-flex; + height: 2.5rem; + justify-content: center; + min-width: 3.75rem; + padding: 0.15rem 0.3rem; +} + +.sponsor-logos img, +.fiscal-sponsor-logos img { + max-height: 2.15rem; + max-width: 8.5rem; + object-fit: contain; +} + +.fiscal-sponsor-logos a.fiscal-sponsor-tile--dark { + background: #201c3a; +} + +.project-logo { + align-items: center; + background: #fff; + border: 1px solid rgba(127, 127, 127, 0.35); + border-radius: 0.35rem; + box-sizing: border-box; + display: flex; + justify-content: center; + margin: 0.5rem 0 1rem; + min-height: 5rem; + padding: 0.5rem 0.75rem; + width: min(100%, 22rem); +} + +.project-logo--tokio { + background: #201c3a; +} + +.project-logo a { + align-items: center; + display: flex; + justify-content: center; + width: 100%; +} + +.project-logo img { + display: block; + max-height: 6rem; + max-width: 100%; + object-fit: contain; +}