You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pouchdb.apache.org by ja...@apache.org on 2026/06/17 10:46:29 UTC

(pouchdb) 01/05: feat: ASFify footer and improve responsive behaviour

This is an automated email from the ASF dual-hosted git repository.

janl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pouchdb.git

commit 2e5d2416b4727ba4b6808fc77abbdf43ec393100
Author: Alex Feyerke <al...@neighbourhood.ie>
AuthorDate: Tue Jun 16 13:52:21 2026 +0200

    feat: ASFify footer and improve responsive behaviour
---
 docs/_includes/default.html                        | 159 +++++++++++----------
 docs/src/less/pouchdb/footer.less                  |  43 ++++++
 docs/src/less/pouchdb/pouchdb.less                 |   1 +
 docs/static/img/friends/Apache_PoweredBy.svg       |  75 ++++++++++
 docs/static/img/friends/apache_incubator_black.svg |  27 ++++
 5 files changed, 230 insertions(+), 75 deletions(-)

diff --git a/docs/_includes/default.html b/docs/_includes/default.html
index d18d7f7c1..9443a9933 100644
--- a/docs/_includes/default.html
+++ b/docs/_includes/default.html
@@ -78,85 +78,65 @@
     </div>
 
     <div class="band">
-
       <div class="container">
-
-        <div class="row">
-
-          <div class="col-xs-4 col-md-offset-0 col-md-2">
-            <a
-              href="https://bsky.app/profile/pouchdb.bsky.social"
-              target="_blank"
-              rel="noopener noreferrer"
-            >
-              <img
-                class="icon"
-                src="{{ site.baseurl}}/static/img/friends/bluesky.svg"
-                alt="PouchDB's Bluesky"
-              />
-            </a>
-          </div>
-
-          <div class="col-xs-4 col-md-offset-0 col-md-2">
-            <a
-              href="https://fosstodon.org/@pouchdb"
-              target="_blank"
-              rel="noopener noreferrer"
-            >
-              <img
-                class="icon"
-                src="{{ site.baseurl}}/static/img/friends/mastodon.svg"
-                alt="PouchDB's Mastodon"
-              />
-            </a>
-          </div>
-
-          <div class="col-xs-4 col-md-2">
-            <a
-              href="https://github.com/rvagg/node-levelup"
-              target="_blank"
-              rel="noopener noreferrer"
-            >
-              <img
-                class="icon"
-                src="{{ site.baseurl}}/static/img/friends/leveldb.svg"
-                alt="Node Levelup"
-              />
-            </a>
-          </div>
-
-          <div class="col-xs-4 col-md-2">
-            <a
-              href="https://github.com/apache/pouchdb"
-              target="_blank"
-              rel="noopener noreferrer"
+        <div class="social_logo_band">
+          <a
+            href="https://bsky.app/profile/pouchdb.bsky.social"
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            <img
+              class="icon"
+              src="{{ site.baseurl}}/static/img/friends/bluesky.svg"
+              alt="PouchDB's Bluesky"
+            />
+          </a>
+          <a
+            href="https://fosstodon.org/@pouchdb"
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            <img
+              class="icon"
+              src="{{ site.baseurl}}/static/img/friends/mastodon.svg"
+              alt="PouchDB's Mastodon"
+            />
+          </a>
+          <a
+            href="https://github.com/rvagg/node-levelup"
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            <img
+              class="icon"
+              src="{{ site.baseurl}}/static/img/friends/leveldb.svg"
+              alt="Node Levelup"
+            />
+          </a>
+          <a
+            href="https://github.com/apache/pouchdb"
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            <img
+              class="icon"
+              src="{{ site.baseurl}}/static/img/friends/github.svg"
+              alt="PouchDB's Github Repo"
+            />
+          </a>
+          <a
+            href="https://couchdb.apache.org/"
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            <img
+              class="icon"
+              src="{{ site.baseurl }}/static/img/friends/couchdb.svg"
+              alt="CouchDB"
             >
-              <img
-                class="icon"
-                src="{{ site.baseurl}}/static/img/friends/github.svg"
-                alt="PouchDB's Github Repo"
-              />
-            </a>
-          </div>
-
-          <div class="col-xs-4 col-md-2">
-            <a
-              href="http://couchdb.apache.org/"
-              target="_blank"
-              rel="noopener noreferrer"
-            >
-              <img
-                class="icon"
-                src="{{ site.baseurl }}/static/img/friends/couchdb.svg"
-                alt="CouchDB"
-              >
-            </a>
-          </div>
-
+          </a>
         </div>
-
       </div>
-
     </div>
 
     <footer class="band band-inverse">
@@ -196,9 +176,38 @@
             </ul>
           </div>
 
+          <div class="col-sm-3">
+            <a
+              href="https://www.apache.org/"
+              target="_blank"
+              rel="noopener noreferrer"
+              class="apache_logo_footer"
+            >
+              <img
+                src="{{ site.baseurl }}/static/img/friends/Apache_PoweredBy.svg"
+                alt="Apache Software Foundation"
+              >
+            </a>
+          </div>
+
         </div>
 
       </div>
+      <div class="container apache_footer">
+        <div>
+          Apache PouchDB (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate  [...]
+        </div>
+        <img 
+          class="incubator_logo"
+          src="{{ site.baseurl }}/static/img/friends/apache_incubator_black.svg" 
+          alt="Apache Software Foundation Incubator Logo"/>
+        <div>
+          Apache PouchDB, PouchDB, Apache, the Apache logo, and the Apache PouchDB project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
+        </div>
+        <div>
+          All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </div>
+      </div>
 
     </footer>
     <script type="text/javascript" src="{{ site.baseurl }}/static/js/jquery.min.js"></script>
diff --git a/docs/src/less/pouchdb/footer.less b/docs/src/less/pouchdb/footer.less
new file mode 100644
index 000000000..a38b7241e
--- /dev/null
+++ b/docs/src/less/pouchdb/footer.less
@@ -0,0 +1,43 @@
+footer .container {
+  @media screen and (max-width: @screen-sm-min) {
+    text-align: center;
+    .col-sm-3 {
+      margin-block-end: 1.5em;
+    }
+  }
+}
+
+.social_logo_band {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: space-around;
+  align-content: center;
+  a {
+    min-width: 5em;
+    min-height: 3em;
+    .icon {
+      margin: 1.5rem;
+    }
+  }
+}
+
+.apache_footer {
+  display: flex;
+  flex-direction: column;
+  gap: 2em;
+  color: #808080;
+  margin-block-start: 3em;
+  font-size: 1.4rem;
+}
+
+.incubator_logo {
+  max-width: 30em;
+  margin: 0 auto;
+}
+
+.apache_logo_footer{
+  max-width: 11em;
+  display: block;
+  margin: 0 auto;
+} 
\ No newline at end of file
diff --git a/docs/src/less/pouchdb/pouchdb.less b/docs/src/less/pouchdb/pouchdb.less
index ab719144a..a0b39ff7f 100644
--- a/docs/src/less/pouchdb/pouchdb.less
+++ b/docs/src/less/pouchdb/pouchdb.less
@@ -39,6 +39,7 @@
 @import "band.less";
 @import "highlight.less";
 @import "header.less";
+@import "footer.less";
 @import "logo.less";
 @import "anchors.less";
 @import "post.less";
diff --git a/docs/static/img/friends/Apache_PoweredBy.svg b/docs/static/img/friends/Apache_PoweredBy.svg
new file mode 100644
index 000000000..e335b19df
--- /dev/null
+++ b/docs/static/img/friends/Apache_PoweredBy.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1000 1000">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #7c297d;
+      }
+
+      .cls-2 {
+        fill: #f79a23;
+      }
+
+      .cls-3 {
+        fill: #dd552c;
+      }
+
+      .cls-4 {
+        fill: #fff;
+      }
+
+      .cls-5 {
+        fill: #d22128;
+      }
+
+      .cls-6 {
+        fill: #dce8f2;
+      }
+
+      .cls-7 {
+        fill: #282662;
+      }
+    </style>
+  </defs>
+  <!-- Generator: Adobe Illustrator 28.7.8, SVG Export Plug-In . SVG Version: 1.2.0 Build 200)  -->
+  <g>
+    <g id="Layer_2">
+      <g>
+        <path class="cls-7" d="M441.5030518,80.204834c-1.2634277-6.9970703-6.8925781-10.3955078-15.0050049-8.9401855l-17.6801758,3.1630859,4.0257568,22.4638672,17.5930176-3.1630859c8.190918-1.4638672,12.3212891-6.5178223,11.0664062-13.5236816Z"/>
+        <path class="cls-7" d="M80.7020264,474.1008301c-9.9859619-.1916504-15.3012695,5.6115723-15.510498,17.2355957l-.2700195,13.7939453,30.4458008.5751953.2526855-13.7939453c.2265625-11.6240234-4.7751465-17.6191406-14.9179688-17.810791Z"/>
+        <path class="cls-7" d="M431.7437744,98.0854492l-18.1071777,3.2416992,4.2435303,23.6577148,18.4470215-3.3024902c8.7137451-1.5686035,13.0444336-6.9274902,11.7199707-14.2644043-1.3331299-7.4328613-7.3370361-10.9445801-16.3033447-9.3325195Z"/>
+        <polygon class="cls-7" points="842.7532959 748.2700195 819.8275146 741.7260742 832.4449463 761.9243164 842.7532959 748.2700195"/>
+        <path class="cls-7" d="M849.0526123,150.9475098C755.9759521,57.8781738,632.0196533,6.6176758,500,6.6176758c-132.0195312,0-255.9758301,51.260498-349.0526123,144.329834C57.8780518,244.0244141,6.6175537,367.9804687,6.6175537,500s51.260498,255.9760742,144.329834,349.0527344c93.0767822,93.0693359,217.0330811,144.3295898,349.0526123,144.3295898,132.0196533,0,255.9759521-51.2602539,349.0526123-144.3295898,93.0693359-93.0766602,144.329834-217.0332031,144.329834-349.0527344s-51.260498-255 [...]
+        <path class="cls-7" d="M219.9737549,185.4233398c-6.1083984-6.3173828-14.098877-6.1867676-21.0175781.5227051l-12.1730957,11.7897949,19.7714844,20.3989258,12.1730957-11.7897949c6.857666-6.6486816,7.293457-14.6826172,1.2460938-20.9216309Z"/>
+        <path class="cls-7" d="M333.2261963,154.0800781c14.8656006-6.9711914,19.8237305-20.1376953,13.1838379-34.3061523-6.6311035-14.142334-19.9282227-18.7607422-34.9421387-11.7111816l-12.355957,5.7858887,21.6186523,46.0869141,12.4956055-5.8554688Z"/>
+        <path class="cls-7" d="M93.9381104,441.6420898c15.3013916,3.206543,28.0147705-4.9580078,31.2039795-20.1723633,3.1630859-15.1357422-5.2020264-27.7182617-20.503418-30.9250488-15.3013916-3.206543-28.0147705,4.958252-31.1778564,20.0939941-3.189209,15.2141113,5.1760254,27.796875,20.4772949,31.003418Z"/>
+        <path class="cls-4" d="M120.7764893,506.1760254l-20.6340332-.3833008.2612305-14.0466309c.2702637-14.3166504-6.857666-22.6992188-19.614502-22.9433594-12.748291-.2351074-20.1896973,7.8686523-20.4686279,22.1765137l-.3572998,19.2487793,60.7260742,1.1586914.0871582-5.2106934ZM95.3673096,505.7055664l-30.4458008-.5751953.2700195-13.7939453c.2092285-11.6240234,5.5245361-17.4272461,15.510498-17.2355957,10.1428223.1916504,15.1445312,6.1867676,14.9179688,17.810791l-.2526855,13.7939453Z"/>
+        <path class="cls-4" d="M92.831543,446.9138184c18.1942139,3.7993164,33.4084473-6.1345215,37.2425537-24.4157715,3.8078613-18.1855469-6.1345215-33.4084473-24.3288574-37.2250977-18.1855469-3.8078613-33.4084473,6.1345215-37.2163086,24.3374023-3.8339844,18.2641602,6.1083984,33.4868164,24.3026123,37.3034668ZM73.4608154,410.6386719c3.1630859-15.1357422,15.8764648-23.3005371,31.1778564-20.0939941,15.3013916,3.2067871,23.6665039,15.7893066,20.503418,30.9250488-3.189209,15.2143555-15.902587 [...]
+        <polygon class="cls-4" points="148.2508545 357.40625 108.4117432 317.8286133 139.1363525 320.5297852 164.3713379 322.6733398 166.5411377 318.0290527 119.8179932 274.3034668 117.473999 279.3486328 157.8795166 317.0705566 102.2249756 312.1821289 100.0987549 316.7480469 120.4976807 337.1469727 139.6591797 356.0993652 84.8410645 349.5900879 82.5406494 354.5571289 146.0462646 362.1379395 148.2508545 357.40625"/>
+        <polygon class="cls-4" points="208.6109619 256.7888184 204.8031006 253.921875 185.8942871 279.1220703 166.8721924 264.857666 183.8553467 242.2280273 180.0299072 239.3613281 163.055542 261.9821777 144.8699951 248.3452148 163.2037354 223.9118652 159.4567871 221.088623 137.994873 249.6958008 186.5826416 286.1540527 208.6109619 256.7888184"/>
+        <path class="cls-4" d="M225.7769775,237.9672852l-15.8937988-16.3994141,11.6677246-11.3017578,27.5004883,5.1586914,4.4963379-4.3569336-27.9973145-5.1672363c5.6552734-7.9033203,5.1848145-17.0004883-1.7775879-24.171875-8.1037598-8.3652344-18.9785156-8.1037598-27.7706299.427002l-16.2860107,15.7805176,42.3227539,43.6645508,3.7380371-3.6335449ZM186.7830811,197.7358398l12.1730957-11.7897949c6.9187012-6.7094727,14.9091797-6.8400879,21.0175781-.5227051,6.0473633,6.2390137,5.6115723,14.272 [...]
+        <polygon class="cls-4" points="300.6455078 176.9536133 297.9180908 173.0236816 272.020874 191.0263672 258.4361572 171.4814453 281.6931152 155.3173828 278.9656982 151.4047852 255.7087402 167.5688477 242.7252197 148.8691406 267.8295898 131.4155273 265.1544189 127.5727539 235.7630615 147.9890137 270.4698486 197.9274902 300.6455078 176.9536133"/>
+        <path class="cls-4" d="M335.3261719,158.5500488c17.8631592-8.3649902,23.8145752-24.3024902,15.97229-41.050293-7.8598633-16.7478027-23.9191895-22.3681641-41.7823486-14.0031738l-17.2271729,8.0776367,25.8188477,55.0622559,17.2183838-8.0864258ZM311.4678955,108.0627441c15.013916-7.0495605,28.3110352-2.4311523,34.9421387,11.7111816,6.6398926,14.168457,1.6817627,27.3349609-13.1838379,34.3061523l-12.4956055,5.8554688-21.6186523-46.0869141,12.355957-5.7858887Z"/>
+        <path class="cls-4" d="M437.494751,126.230957c11.5283203-2.0651855,17.6715088-9.6025391,15.8937988-19.5187988-1.3244629-7.4240723-6.447998-11.885498-13.9680176-12.5566406,5.7858887-3.0671387,8.4871826-8.661377,7.302124-15.3186035-1.6905518-9.3935547-9.8726807-14.1948242-20.7125244-12.2429199l-23.1437988,4.1477051,10.7180176,59.7763672,23.9104004-4.2871094ZM448.0471191,107.4179687c1.3244629,7.3369141-3.0062256,12.6958008-11.7199707,14.2644043l-18.4470215,3.3024902-4.2435303-23.657 [...]
+        <polygon class="cls-4" points="491.4676514 121.1420898 496.6697998 121.0634766 496.2950439 98.5908203 518.645874 59.9628906 512.6595459 60.0585937 493.6025391 93.1796875 485.5772705 80.1176758 473.4564209 60.7124023 467.4787598 60.8168945 491.0930176 98.7739258 491.4676514 121.1420898"/>
+        <path class="cls-6" d="M741.5291748,741.5292969c133.3933105-133.3930664,133.3933105-349.666748,0-483.0600586-133.3935547-133.3935547-349.6668701-133.3935547-483.0603027,0-133.3933105,133.3933105-133.3933105,349.6669922,0,483.0600586,26.4128418,26.4130859,56.083374,47.5742188,87.708252,63.5273438-7.4069824,27.3027344-15.0770264,56.9331055-23.1533203,89.4458008-1.5966797,6.4267578.453125,13.1884766,5.3486328,17.6484375,3.3222656,3.0253906,7.6269531,4.6914062,12.1210938,4.6914062,2. [...]
+        <polygon class="cls-4" points="658.9110107 850.2553711 609.8787842 868.4584961 614.383667 880.5966797 632.3863525 873.921875 649.038208 918.7890625 662.0653076 913.9526367 645.4134521 869.0859375 663.4158936 862.3935547 658.9110107 850.2553711"/>
+        <polygon class="cls-4" points="703.3248291 825.7788086 715.0623779 845.9506836 694.5848389 857.8540039 682.8475342 837.6816406 670.927124 844.6176758 701.4512939 897.1176758 713.3717041 890.1816406 701.0765381 869.0336914 721.5540771 857.1303711 733.848999 878.2788086 745.7869873 871.3427734 715.2452393 818.8422852 703.3248291 825.7788086"/>
+        <polygon class="cls-4" points="772.581665 836.2524414 764.0770264 826.0400391 782.4193115 810.7646484 774.9779053 801.824707 756.6356201 817.0996094 748.6275635 807.4882812 768.7215576 790.7753906 761.2799072 781.8354492 730.65979 807.331543 769.5404053 854.0371094 800.8924561 827.9306641 793.3988037 818.9208984 772.581665 836.2524414"/>
+        <path class="cls-4" d="M802.0164795,736.7592773l33.9575195,55.9331055,8.8532715-11.7285156-5.8730469-9.6547852,14.5605469-19.2661133,10.8486328,3.0756836,8.9055176-11.7807617-63.0874023-17.3925781-8.1650391,10.8139648ZM842.7532959,748.2700195l-10.3083496,13.6542969-12.6174316-20.1982422,22.9257812,6.5439453Z"/>
+        <path class="cls-4" d="M889.5548096,677.2963867c-8.5393066-4.4614258-16.5473633-1.4902344-26.6813965,10.2475586-6.2216797,7.2324219-9.7768555,8.9926758-13.0881348,7.2670898-3.5378418-1.847168-4.0517578-6.1259766-1.3591309-11.2753906,2.9365234-5.6206055,7.6245117-7.4853516,12.4604492-4.949707l6.1518555-11.7631836c-10.8486328-5.6728516-22.0283203-1.1328125-28.6855469,11.6416016-6.4743652,12.3818359-4.4526367,23.3261719,5.3242188,28.4326172,8.8442383,4.609375,17.2006836,1.3417969,26 [...]
+        <polygon class="cls-4" points="906.137085 621.0839844 894.6348877 617.1279297 887.463501 637.9799805 873.1033936 633.0483398 880.9718018 610.1396484 869.1473389 606.0703125 856.7911377 642.0405273 914.2757568 661.7944336 918.7545166 648.7241211 898.9656982 641.9360352 906.137085 621.0839844"/>
+        <path class="cls-3" d="M475.0826416,498.9907227c17.0679932-42.2050781,36.1118164-84.3271484,56.5456543-121.6611328-30.5024414-22.6557617-59.7915039-71.5092773-71.8251953-93.1542969-4.3220215,4.9101562-7.1279297,10.5654297-8.4001465,15.1662598-11.3365479,40.9328613,29.019043,90.3615723-3.4854736,72.3022461-27.0822754-15.048584-88.0653076-48.0039062-111.3267822-15.2490234,26.052002,33.473877,94.1911621,117.6921387,138.4919434,142.5959473Z"/>
+        <path class="cls-2" d="M531.6282959,377.3295898c19.7996826-36.175293,40.9000244-67.8583984,62.7758789-90.684082,0,0-21.8192139,31.5830078-52.9838867,94.7185059,18.8740234,5.1977539,72.6269531,15.8632812,147.4995117-3.4768066,1.8408203-13.6064453-7.3063965-28.5722656-52.8901367-33.5827637-29.7595215-3.2675781,35.7197266-71.0605469-11.7155762-103.1228027-1.5314941-1.0368652-3.0368652-1.9516602-4.5114746-2.7709961-1.590332-.5705566-3.2700195-1.0935059-5.0627441-1.5595703-55.3997803- [...]
+        <path class="cls-5" d="M430.5249023,620.5908203c12.5063477-37.4645996,27.5506592-79.5561523,44.5577393-121.6000977-44.3007812-24.9038086-112.4399414-109.1220703-138.4919434-142.5959473-4.6508789,6.5439453-7.8292236,15.6716309-8.8879395,28.1540527-5.6813965,67.0478516,63.4882812,116.685791,49.6987305,125.7524414-18.2399902,11.9943848-54.5435791-28.8120117-68.8515625-2.8842773,20.7387695,26.6420898,62.9829102,74.78125,121.9749756,113.1738281Z"/>
+        <path class="cls-3" d="M541.4202881,381.3640137c-16.1335449,32.6896973-34.7634277,73.8837891-54.1928711,123.552002,20.2353516,8.652832,102.8591309,40.6147461,219.5622559,40.7802734,19.6210938-51.105957-51.3718262-57.8547363-84.6105957-69.7055664-35.022583-12.4909668,36.5979004-45.9909668,59.8547363-81.5300293,2.9758301-4.5441895,6.0517578-10.4172363,6.8859863-16.5734863-74.8725586,19.3400879-128.6254883,8.6745605-147.4995117,3.4768066Z"/>
+        <path class="cls-5" d="M444.057251,627.3354492c20.5797119,6.4130859,88.769043,25.5703125,161.1889648,22.6860352,9.7287598-26.3413086-26.6444092-28.9121094-29.6070557-50.0385742-2.2939453-16.3469238,95.7225342,13.7373047,127.2596436-45.7036133,1.5947266-3.0061035,2.838623-5.8422852,3.8908691-8.5830078-116.703125-.1655273-199.3269043-32.1274414-219.5622559-40.7802734-14.1990967,36.2971191-28.8054199,77.0339355-43.170166,122.4194336Z"/>
+        <path class="cls-1" d="M444.057251,627.3354492c-9.2473145,29.2128906-18.3706055,60.4208984-27.2260742,93.4023438-3.1412354,11.6938477-6.2456055,23.6054688-9.3061523,35.7788086,68.736084,22.6904297,132.0305176.0522461,134.1762695-28.0058594.0174561-.222168-.0239258-.3876953-.0108643-.6010742,1.6359863-29.7182617-42.9064941-13.2451172-41.8521729-31.112793,1.0588379-17.9980469,77.7636719-.1044922,101.4846191-38.6933594,1.8189697-2.9580078,3.0041504-5.5854492,3.9233398-8.0820312-72.4 [...]
+        <path class="cls-1" d="M390.5919189,752.1464844s4.0258789-15.2792969,11.3955078-40.4536133c6.8140869-23.2783203,16.4973145-55.0268555,28.5374756-91.1020508-58.9920654-38.3925781-101.2362061-86.5317383-121.9749756-113.1738281-1.0020752,1.8168945-1.9061279,3.916748-2.6772461,6.4262695-13.321167,43.2941895,80.8743896,101.4541016,68.0585938,114.1328125-11.5522461,11.4233398-26.6074219-14.6826172-45.1719971-3.8994141-2.034668,1.1850586-4.0997314,2.6791992-6.2193604,4.8535156-20.995849 [...]
+        <path class="cls-4" d="M548.8778076,911.456543c-16.1103516,1.8925781-32.5556641,2.8525391-48.8779297,2.8525391-30.8486328,0-61.609375-3.4052734-91.4267578-10.1210938-2.15625-.4873047-4.2958984.8681641-4.78125,3.0234375s.8681641,4.2958984,3.0234375,4.78125c30.3935547,6.8457031,61.7451172,10.3164062,93.1845703,10.3164062,16.6328125,0,33.3916016-.9785156,49.8115234-2.9072266,2.1943359-.2578125,3.7636719-2.2451172,3.5058594-4.4394531-.2578125-2.1933594-2.2412109-3.765625-4.4394531-3. [...]
+        <path class="cls-4" d="M288.5418701,856.3569336c-102.1777344-60.7617188-173.453125-162.2744141-195.5488281-278.5087891-.4121094-2.1699219-2.5126953-3.5947266-4.6767578-3.1826172-2.1699219.4130859-3.5947266,2.5068359-3.1826172,4.6767578,22.5234375,118.4833984,95.1728516,221.9580078,199.3183594,283.8916016.6416016.3808594,1.3457031.5625,2.0410156.5625,1.3642578,0,2.6943359-.6992188,3.4423828-1.9560547,1.1289062-1.8994141.5048828-4.3535156-1.3935547-5.4833984Z"/>
+        <path class="cls-4" d="M895.8231201,352.4731445c-16.9785156-45.5371094-41.5625-87.5380859-73.0664062-124.8339844-63.4414062-75.1044922-151.3662109-125.9873047-247.5791016-143.2753906-2.1689453-.390625-4.2529297,1.0537109-4.6435547,3.2294922-.3916016,2.1738281,1.0546875,4.2529297,3.2294922,4.6435547,94.3828125,16.9599609,180.6396484,66.8798828,242.8818359,140.5644531,30.9082031,36.5908203,55.0253906,77.7949219,71.6826172,122.4667969,17.2392578,46.2363281,25.9804688,94.9316406,25.9 [...]
+      </g>
+    </g>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/docs/static/img/friends/apache_incubator_black.svg b/docs/static/img/friends/apache_incubator_black.svg
new file mode 100644
index 000000000..c67c1c7d8
--- /dev/null
+++ b/docs/static/img/friends/apache_incubator_black.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 473.3 110.2">
+  <!-- Generator: Adobe Illustrator 30.5.1, SVG Export Plug-In . SVG Version: 2.1.4 Build 3)  -->
+  <defs>
+    <style>
+      .st0 {
+        fill-rule: evenodd;
+      }
+    </style>
+  </defs>
+  <polygon class="st0" points="445.8 13.3 467 13.3 467 15.3 448 15.3 448 27.1 465.1 27.1 465.1 29.1 448 29.1 448 41.1 467.2 41.1 467.2 43.1 445.8 43.1 445.8 13.3"/>
+  <polygon class="st0" points="377.6 13.3 379.9 13.3 379.9 27.1 398.9 27.1 398.9 13.3 401.2 13.3 401.2 43.1 398.9 43.1 398.9 29.1 379.9 29.1 379.9 43.1 377.6 43.1 377.6 13.3"/>
+  <path class="st0" d="M323.9,43.6c-2.1,0-4.1-.4-5.9-1.2-1.8-.8-3.4-1.9-4.7-3.3-1.3-1.4-2.4-3-3.1-4.9-.7-1.9-1.1-3.9-1.1-6h0c0-2.2.4-4.2,1.1-6,.8-1.9,1.8-3.5,3.1-4.9,1.3-1.4,2.9-2.5,4.7-3.3,1.8-.8,3.8-1.2,6-1.2s2.5.1,3.6.3c1.1.2,2.1.6,3,1,.9.4,1.8.9,2.6,1.5.8.6,1.6,1.2,2.4,1.9l-1.6,1.6c-.7-.6-1.3-1.2-2-1.7s-1.5-1-2.3-1.4c-.8-.4-1.7-.7-2.6-.9-1-.2-2-.3-3.1-.3-1.8,0-3.5.3-5,1s-2.9,1.6-4,2.8c-1.1,1.2-2,2.6-2.6,4.2-.6,1.6-1,3.4-1,5.2h0c0,2,.3,3.7,1,5.3s1.5,3.1,2.7,4.3,2.4,2.2,4,2.9c1.5.7,3.2 [...]
+  <path class="st0" d="M252.3,13.1h2.1l13.9,30h-2.4l-3.8-8.4h-17.6l-3.8,8.4h-2.3l13.9-30h0ZM261.2,32.8l-7.8-17.3-7.9,17.3h15.7Z"/>
+  <path class="st0" d="M176.7,13.3h10.8c1.6,0,3.1.2,4.5.6,1.3.4,2.5,1,3.5,1.8,1,.8,1.7,1.7,2.3,2.9.5,1.1.8,2.4.8,3.9h0c0,1.6-.3,3-.9,4.2-.6,1.2-1.5,2.2-2.5,3-1.1.8-2.3,1.4-3.7,1.8-1.4.4-2.9.6-4.5.6h-8.1v11.1h-2.2V13.3h0ZM187.1,30c1.4,0,2.7-.2,3.8-.5,1.1-.3,2.1-.8,2.9-1.5.8-.6,1.4-1.4,1.9-2.3.5-.9.7-1.9.7-3h0c0-1.3-.2-2.3-.7-3.2-.4-.9-1.1-1.6-1.9-2.2-.8-.6-1.7-1.1-2.9-1.4-1.1-.3-2.3-.5-3.7-.5h-8.4v14.7h8.2Z"/>
+  <path class="st0" d="M118.6,13.1h2.1l13.9,30h-2.4l-3.8-8.4h-17.6l-3.8,8.4h-2.3l13.9-30h0ZM127.5,32.8l-7.8-17.3-7.9,17.3h15.7Z"/>
+  <path class="st0" d="M471.3,70.9c0,7.2-3.1,11.8-9.4,13.6l11.4,15.9h-9.4l-10.4-14.7h-9.7v14.7h-7.4v-43.7h16.3c6.7,0,11.4,1.1,14.3,3.4,2.9,2.3,4.3,5.9,4.3,10.8h0ZM452.9,79c4.2,0,7-.6,8.5-1.9,1.5-1.3,2.3-3.4,2.3-6.2s-.8-4.8-2.3-5.9c-1.5-1.1-4.3-1.6-8.3-1.6h-9.4v15.6h9.2Z"/>
+  <path class="st0" d="M422.1,94.3c-4.4,4.3-9.9,6.5-16.4,6.5s-12-2.2-16.4-6.5c-4.4-4.3-6.6-9.7-6.6-16.1s2.2-11.8,6.6-16.1c4.4-4.3,9.9-6.5,16.4-6.5s12,2.2,16.4,6.5c4.4,4.3,6.6,9.7,6.6,16.1s-2.2,11.8-6.6,16.1h0ZM416.7,67c-3-3.1-6.6-4.6-11-4.6s-8,1.5-11,4.6c-3,3.1-4.5,6.8-4.5,11.2s1.5,8.1,4.5,11.2c3,3.1,6.6,4.6,11,4.6s8-1.5,11-4.6c3-3.1,4.5-6.8,4.5-11.2s-1.5-8.1-4.5-11.2Z"/>
+  <polygon class="st0" points="367.2 63.4 367.2 100.4 359.8 100.4 359.8 63.4 346.5 63.4 346.5 56.7 380.4 56.7 380.4 63.4 367.2 63.4"/>
+  <path class="st0" d="M315.6,90.4l-4.4,9.9h-7.9l19.3-43.7h7.9l19.3,43.7h-7.9l-4.4-9.9h-21.9ZM334.5,83.6l-7.9-18-7.9,18h15.9Z"/>
+  <path class="st0" d="M286.6,100.4h-19.1v-43.7h17c3,0,5.5.4,7.7,1.1,2.1.7,3.7,1.7,4.8,2.9,2,2.3,3,4.8,3,7.6s-1.1,6-3.3,7.6c-.8.6-1.3.9-1.6,1.1s-.8.4-1.6.7c2.7.6,4.9,1.8,6.5,3.7,1.6,1.9,2.4,4.2,2.4,6.9s-1,5.7-3.1,8.1c-2.5,2.7-6.7,4.1-12.6,4.1h0ZM274.9,93.6h11.6c2.7,0,4.8-.4,6.2-1.3,1.4-.9,2.2-2.5,2.2-4.8,0-3.9-3.1-5.8-9.3-5.8h-10.6v11.9h0ZM274.9,74.8h9.4c5.3,0,8-1.8,8-5.4s-.6-3.6-1.9-4.5c-1.3-.9-3.3-1.4-6-1.4h-9.4v11.3h0Z"/>
+  <path class="st0" d="M231,90.4c2,2.3,4.7,3.5,8.1,3.5s6.1-1.2,8.1-3.5c2-2.3,3-5.5,3-9.5v-24.2h7.4v24.5c0,6.3-1.7,11.1-5.2,14.5-3.5,3.4-7.9,5.1-13.3,5.1s-9.9-1.7-13.3-5.1c-3.5-3.4-5.2-8.2-5.2-14.5v-24.5h7.4v24.2c0,4,1,7.2,3,9.5Z"/>
+  <path class="st0" d="M196.8,93.7c2.5,0,4.7-.4,6.6-1.3,1.8-.9,3.8-2.2,5.8-4.1l4.8,4.9c-4.6,5.1-10.2,7.7-16.9,7.7s-12.1-2.1-16.4-6.4-6.5-9.6-6.5-16.1,2.2-11.9,6.7-16.3c4.4-4.3,10-6.5,16.8-6.5s12.4,2.5,17,7.5l-4.7,5.1c-2.1-2-4.1-3.4-5.9-4.2s-4-1.2-6.5-1.2c-4.4,0-8.1,1.4-11.1,4.3-3,2.9-4.5,6.5-4.5,10.9s1.5,8.2,4.5,11.1c3,3,6.5,4.5,10.6,4.5Z"/>
+  <polygon class="st0" points="159 56.7 166.4 56.7 166.4 100.4 158.4 100.4 133.7 68.5 133.7 100.4 126.3 100.4 126.3 56.7 133.7 56.7 159 89.3 159 56.7"/>
+  <rect x="108.5" y="56.7" width="7.4" height="43.7"/>
+  <path class="st0" d="M44.9,15.1c0-.3,0-.6,0-1,0,.1.3.4.6,1h-.6ZM33.2,49.3c-3.4,6.4-5.4,13-5.9,20-.4,6.2.2,11.5,2,16,.2.6.5,1.2.7,1.7-1.4-1-2.8-2.1-4.1-3.1-.1,0-.2-.1-.2-.1,1.7,2.7,3.8,5.2,6.4,7.4.4.3,1,.5,1.2,1,.5,1.4-.8,14.4,3.2,17.4,2.5,1.9,13.8-.5,17.3-1.6,18.1-5.9,32.2-22.6,30.1-46.8-2.3-26.5-19.7-53.4-37.2-59.9-4.7-1.8-5.7-1.6-10.6.5C19.1,9,2.4,35.2.2,61.1c-2.2,24.8,12.8,41.9,31.7,47.3.5.1,1,.3,1.5.4-.5-1-.9-2.1-1.2-3.4C12.4,99.5,1.3,82,3.1,61.4,4.8,41.6,18,12.6,37.3,4.4c4-1.7,4.4 [...]
+</svg>
\ No newline at end of file