diff --git a/docs/css/extra.css b/docs/css/extra.css new file mode 100644 index 00000000..a4fd26b9 --- /dev/null +++ b/docs/css/extra.css @@ -0,0 +1,72 @@ +.md-nav__sponsors { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; + margin: 1.2rem 0.4rem 0.6rem; + padding: 0.9rem 0.6rem 0.8rem; + background-color: color-mix(in srgb, var(--md-primary-fg-color) 8%, transparent); + border-radius: 0.4rem; +} + +.md-nav__sponsors-title { + margin: 0 0 0.1rem; + font-size: 0.6rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--md-default-fg-color--light); +} + +.md-nav__sponsor { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + padding: 0.25rem; + border-radius: 0.2rem; + transition: opacity 0.15s; +} + +.md-nav__sponsor:hover { + opacity: 0.75; +} + +.md-nav__sponsor img { + max-width: 100%; + max-height: 1.6rem; + object-fit: contain; +} + +img[src*="#only-dark"], +img[src*="#gh-dark-mode-only"] { + display: none; +} + +[data-md-color-scheme="slate"] img[src*="#only-dark"], +[data-md-color-scheme="slate"] img[src*="#gh-dark-mode-only"] { + display: inline; +} + +[data-md-color-scheme="slate"] img[src*="#only-light"], +[data-md-color-scheme="slate"] img[src*="#gh-light-mode-only"] { + display: none; +} + +.md-nav__sponsor-cta { + display: inline-block; + margin-top: 0.15rem; + padding: 0.25rem 0.6rem; + font-size: 0.65rem; + font-weight: 600; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color); + border-radius: 0.2rem; + text-decoration: none; + transition: opacity 0.15s; +} + +.md-nav__sponsor-cta:hover { + opacity: 0.85; + color: var(--md-primary-bg-color); +} diff --git a/docs/img/fastapi-logo.png b/docs/img/fastapi-logo.png new file mode 100644 index 00000000..f08144cd Binary files /dev/null and b/docs/img/fastapi-logo.png differ diff --git a/docs/img/hf-logo-with-title-dark.svg b/docs/img/hf-logo-with-title-dark.svg new file mode 100644 index 00000000..4bdd1182 --- /dev/null +++ b/docs/img/hf-logo-with-title-dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/img/hf-logo-with-title.svg b/docs/img/hf-logo-with-title.svg new file mode 100644 index 00000000..7e254084 --- /dev/null +++ b/docs/img/hf-logo-with-title.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/index.md b/docs/index.md index 96c63c55..8fc2744d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -44,6 +44,22 @@ and means we're now able to start building a common set of tooling usable across Uvicorn currently supports **HTTP/1.1** and **WebSockets**. +## Sponsorship + +Help us keep Uvicorn maintained and sustainable by [becoming a sponsor](https://github.com/sponsors/Kludex). + +**Current sponsors:** + +
+ + FastAPI + + + Hugging Face + Hugging Face + +
+ ## Quickstart **Uvicorn** is available on [PyPI](https://pypi.org/project/uvicorn/) so installation is as simple as: diff --git a/docs/overrides/partials/nav.html b/docs/overrides/partials/nav.html index f61d8e4e..130e5dc5 100644 --- a/docs/overrides/partials/nav.html +++ b/docs/overrides/partials/nav.html @@ -44,4 +44,19 @@ {{ item.render(nav_item, path, 1) }} {% endfor %} + + +
+

Sponsors

+ + FastAPI + + + Hugging Face + Hugging Face + + + Become a sponsor! ❤️ + +
diff --git a/docs/sponsorship.md b/docs/sponsorship.md deleted file mode 100644 index 16188c91..00000000 --- a/docs/sponsorship.md +++ /dev/null @@ -1,184 +0,0 @@ -# ✨ Sponsor Starlette & Uvicorn ✨ - -Thank you for your interest in sponsoring Starlette and Uvicorn! ❤️ - -Your support *directly* contributes to the ongoing development, maintenance, and long-term sustainability of both projects. - -
-
-

67M+

-

Starlette Downloads/Month

-
-
-

57M+

-

Uvicorn Downloads/Month

-
-
-

19K+

-

Combined GitHub Stars

-
-
- -## Why Sponsor? - -While Starlette and Uvicorn are part of the [Encode](https://github.com/encode) organization, -they have been primarily maintained by [**Marcelo Trylesinski (Kludex)**](https://github.com/Kludex) -for the past several years. His dedication and consistent work have been instrumental in keeping -these projects robust, secure, and up-to-date. - -This sponsorship page was created to give the community an opportunity to support Marcelo's continued -efforts in maintaining and improving both projects. Your sponsorship directly enables him to -dedicate more time and resources to maintaining and improving these essential tools: - -- [x] **Active Development:** Developing new features, enhancing existing ones, and - keeping both projects aligned with the latest developments in the Python and ASGI ecosystems. 💻 -- [x] **Community Support:** Providing better support, addressing user issues, - and cultivating a welcoming environment for contributors. 🤝 -- [x] **Long-Term Stability:** Ensuring the long-term viability of both projects through strategic - planning and addressing technical debt. 🌳 -- [x] **Bug Fixes & Maintenance:** Providing prompt attention to bug reports and - general maintenance to keep the projects reliable. 🔨 -- [x] **Security:** Ensuring robust security practices, conducting regular security audits, and - promptly addressing vulnerabilities to protect millions of production deployments. 🔒 -- [x] **Documentation:** Creating comprehensive guides, tutorials, and examples to help users of all skill levels. 📖 - -## How Sponsorship Works - -We currently manage sponsorships *exclusively* through **GitHub Sponsors**. This platform integrates seamlessly with the GitHub ecosystem, making it easy for organizations to contribute. - -
-

🌟 Become a Sponsor Today! 🌟

-

Your support helps keep Starlette and Uvicorn growing stronger!

- - ❤️ Sponsor on GitHub - -
- -## Sponsorship Tiers 🎁 - -
-
-

🥉 Bronze Sponsor

-
$100/month
- -
- - Become a Bronze Sponsor - -
-
-
-

🥈 Silver Sponsor

-
$250/month
- -
- - Become a Silver Sponsor - -
-
-
-
- Popular -
-

🥇 Gold Sponsor

-
$500/month
- -
- - Become a Gold Sponsor - -
-
-
- -
-

🤝 Custom Sponsor

-

Looking for something different? Contact us to discuss custom sponsorship options!

-
- -## Current Sponsors - -**Thank you to our generous sponsors!** 🙏 - -
-
-

🏆 Gold Sponsors

-
- -
-
- FastAPI -
-

Modern, fast web framework for building APIs with Python 3.8+

-
-
-
-
- -
-

🥈 Silver Sponsors

-
- -
-
- -
-

🥉 Bronze Sponsors

-
- -
-
-
- -## Alternative Sponsorship Platforms - -
-

📢 We Want Your Input!

-

We are currently evaluating whether to expand our sponsorship options beyond GitHub Sponsors. If your company would be interested in sponsoring Starlette and Uvicorn but prefers to use a different platform (e.g., Open Collective, direct invoicing), please let us know!

-

Your feedback is invaluable in helping us make sponsorship as accessible as possible. Share your thoughts by:

- -
- - - -## Community & Future Plans 🌟 - -We want to express our deepest gratitude to all the contributors who have helped shape Starlette and -Uvicorn over the years. These projects wouldn't be what they are today without the incredible work of -every single contributor. - -Special thanks to some of our most impactful contributors: - -- **Tom Christie** ([@tomchristie](https://github.com/tomchristie)) - The original creator of Starlette and Uvicorn. -- **Adrian Garcia Badaracco** ([@adriangb](https://github.com/adriangb)) - Major contributor to Starlette. -- **Thomas Grainger** ([@graingert](https://github.com/graingert)) - Major contributor to AnyIO, and significant contributions to Starlette and Uvicorn. -- **Alex Grönholm** ([@agronholm](https://github.com/agronholm)) - Creator of AnyIO. -- **Florimond Manca** ([@florimondmanca](https://github.com/florimondmanca)) - Important contributions to Starlette and Uvicorn. - -If you want your name removed from the list above, or if I forgot a significant contributor, please let me know. -You can view all contributors on GitHub: -[Starlette Contributors](https://github.com/Kludex/starlette/graphs/contributors) / [Uvicorn Contributors](https://github.com/Kludex/uvicorn/graphs/contributors). - -While the current sponsorship program directly supports Marcelo's maintenance work, we are exploring ways -to distribute funding to other key contributors in the future. This initiative is still in early planning -stages, as we want to ensure a fair and sustainable model that recognizes the valuable contributions of -our community members. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index fd2c31d6..c79eba48 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -62,7 +62,6 @@ nav: - Docker: deployment/docker.md - Release Notes: release-notes.md - Contributing: contributing.md - - Sponsorship: sponsorship.md extra: analytics: @@ -80,6 +79,9 @@ extra: - icon: fontawesome/solid/globe link: https://fastapiexpert.com +extra_css: + - css/extra.css + markdown_extensions: - attr_list - admonition