From 4cf31eac75a1734b99d4509d2ae7b17f1ac1fe27 Mon Sep 17 00:00:00 2001 From: Yuki Watanabe <31463517+B-Step62@users.noreply.github.com> Date: Tue, 17 Dec 2024 21:58:17 +0900 Subject: [PATCH] Add more integration icons to the website (#134) Signed-off-by: B-Step62 --- .../src/components/ExpandableGrid/index.tsx | 34 +++ .../ExpandableGrid/styles.module.css | 48 ++++ .../community-section/MLflowLogoAndCards.tsx | 3 +- website/src/constants.ts | 1 + website/src/pages/index.tsx | 220 ++++++++++++------ website/static/img/anthropic.svg | 16 ++ website/static/img/autogen.jpeg | Bin 0 -> 2892 bytes website/static/img/crewai.svg | 12 + website/static/img/fastai.png | Bin 0 -> 9613 bytes website/static/img/google-gemini.svg | 17 ++ website/static/img/h2o.svg | 1 + website/static/img/johnsnowlab.svg | 97 ++++++++ website/static/img/litellm.png | Bin 0 -> 20532 bytes website/static/img/llamaindex.svg | 18 ++ website/static/img/onnx.svg | 83 +++++++ website/static/img/promptflow.svg | 47 ++++ website/static/img/sentence-transformers.svg | 1 + website/static/img/spacy.svg | 24 ++ website/static/img/statsmodels.svg | 74 ++++++ 19 files changed, 621 insertions(+), 75 deletions(-) create mode 100644 website/src/components/ExpandableGrid/index.tsx create mode 100644 website/src/components/ExpandableGrid/styles.module.css create mode 100644 website/src/constants.ts create mode 100644 website/static/img/anthropic.svg create mode 100644 website/static/img/autogen.jpeg create mode 100644 website/static/img/crewai.svg create mode 100644 website/static/img/fastai.png create mode 100644 website/static/img/google-gemini.svg create mode 100644 website/static/img/h2o.svg create mode 100644 website/static/img/johnsnowlab.svg create mode 100644 website/static/img/litellm.png create mode 100644 website/static/img/llamaindex.svg create mode 100644 website/static/img/onnx.svg create mode 100644 website/static/img/promptflow.svg create mode 100644 website/static/img/sentence-transformers.svg create mode 100644 website/static/img/spacy.svg create mode 100644 website/static/img/statsmodels.svg diff --git a/website/src/components/ExpandableGrid/index.tsx b/website/src/components/ExpandableGrid/index.tsx new file mode 100644 index 000000000..da20b4134 --- /dev/null +++ b/website/src/components/ExpandableGrid/index.tsx @@ -0,0 +1,34 @@ +import React, { useState } from "react"; +import styles from "./styles.module.css"; + +const ExpandableGrid = ({ items, defaultVisibleCount, renderItem }) => { + const [isExpanded, setIsExpanded] = useState(false); + + const visibleItems = isExpanded ? items : items.slice(0, defaultVisibleCount); + + return ( + <> +
+ {visibleItems.map((item, index) => ( +
+ {renderItem(item, index)} +
+ ))} +
+ {items.length > defaultVisibleCount && ( +
+ +
+ )} + + ); +}; + +export default ExpandableGrid; diff --git a/website/src/components/ExpandableGrid/styles.module.css b/website/src/components/ExpandableGrid/styles.module.css new file mode 100644 index 000000000..c912bcb13 --- /dev/null +++ b/website/src/components/ExpandableGrid/styles.module.css @@ -0,0 +1,48 @@ +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 24px; + position: relative; +} + +.grid.fadeOverlay { + position: relative; +} + +.grid.fadeOverlay::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 4rem; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #0c1519); + pointer-events: none; /* Allow click-through */ + z-index: 1; +} + +.buttonContainer { + margin-top: 3rem; + text-align: center; +} + +.toggleButton { + padding: 8px 16px; + font-size: 16px; + cursor: pointer; + border: none; + background-color: transparent; + color: inherit; + transition: color 0.3s; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.toggleButton:active { + transform: scale(0.98); +} + +.toggleButton:hover { + color: var(--ifm-color-success); +} diff --git a/website/src/components/community-section/MLflowLogoAndCards.tsx b/website/src/components/community-section/MLflowLogoAndCards.tsx index 497668196..ab8c2737a 100644 --- a/website/src/components/community-section/MLflowLogoAndCards.tsx +++ b/website/src/components/community-section/MLflowLogoAndCards.tsx @@ -4,8 +4,7 @@ import "./MLflowLogoAndCards.css"; import Arrow from "./Arrow"; import ArrowText from "../ArrowText"; import styles from "./styles.module.css"; - -const MOBILE_LAYOUT_BREAKPOINT = 996; +import { MOBILE_LAYOUT_BREAKPOINT } from "../../constants"; const MLflowLogo = ({ displaySideDots }: { displaySideDots: boolean }) => { return ( diff --git a/website/src/constants.ts b/website/src/constants.ts new file mode 100644 index 000000000..832e46cff --- /dev/null +++ b/website/src/constants.ts @@ -0,0 +1 @@ +export const MOBILE_LAYOUT_BREAKPOINT = 996; diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index c306235bc..37bd4bff4 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -24,6 +24,8 @@ import Anchor from "../components/Anchor"; import Flow from "../components/Flow"; import ConceptCard from "../components/ConceptCard"; import CenterGrid from "../components/CenterGrid"; +import ExpandableGrid from "../components/ExpandableGrid"; +import { MOBILE_LAYOUT_BREAKPOINT } from "../constants"; const IMAGE = // "https://images.unsplash.com/photo-1506624183912-c602f4a21ca7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"; @@ -521,82 +523,154 @@ export default function Home(): JSX.Element { marginBottom: "48px", }} > - MLflow integrates with these tools and platforms + MLflow integrates with 25+ tools and platforms -
- {[ - { - title: "PyTorch", - src: "img/pytorch.svg", - href: "docs/latest/python_api/mlflow.pytorch.html", - }, - { - title: "HuggingFace", - src: "img/huggingface.svg", - href: "docs/latest/python_api/mlflow.transformers.html", - }, - { - title: "OpenAI", - src: "img/openai.svg", - href: "docs/latest/python_api/openai/index.html", - }, - { - title: "LangChain", - src: "img/langchain.svg", - href: "docs/latest/python_api/mlflow.langchain.html", - }, - { - title: "Spark", - src: "img/spark.svg", - href: "docs/latest/python_api/mlflow.spark.html", - }, - { - title: "Keras", - src: "img/keras.svg", - href: "docs/latest/python_api/mlflow.keras_core.html", - }, - { - title: "TensorFlow", - src: "img/tensorflow.svg", - href: "docs/latest/python_api/mlflow.tensorflow.html", - }, - { - title: "Prophet", - src: "img/prophet.svg", - href: "docs/latest/python_api/mlflow.prophet.html", - }, - { - title: "scikit-learn", - src: "img/scikit-learn.svg", - href: "docs/latest/python_api/mlflow.sklearn.html", - }, - { - title: "XGBoost", - src: "img/xgboost.svg", - href: "docs/latest/python_api/mlflow.xgboost.html", - }, - { - title: "LightGBM", - src: "img/lightgbm.svg", - href: "docs/latest/python_api/mlflow.lightgbm.html", - }, - { - title: "CatBoost", - src: "img/catboost.svg", - href: "docs/latest/python_api/mlflow.catboost.html", - }, - ].map(({ title, src, href }, index) => ( - - ))} -
+ + {() => ( + MOBILE_LAYOUT_BREAKPOINT ? 16 : 8 + } + renderItem={({ title, src, href }) => ( + + )} + /> + )} + + + + + + + + + + + + + \ No newline at end of file diff --git a/website/static/img/autogen.jpeg b/website/static/img/autogen.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..82e3868393ebe9a9dac7c8726729d719297f1ed5 GIT binary patch literal 2892 zcmbVLc|26>AAV;y6nAWiG+83c&lW0SqO#mBV@b(cNtWzniHxNvvfhkaZm6t3$xei9 zLsDcc*TwYOGc%wF z0N?>gh#-J*8H9TPh&Vue;{cq3Nc`kZkbOUDpa4LH{;7}m0Pr96T+MGd%N@B&;QJkw z3IK}x1Xt70P)~z==MX3iSR*>^K97uHMXQKaKTUT3`G6QSujmf3o#K1t4-5_szZn@FqfXDv&dtADSX`p7u64tM;X=zsEHxOt#(I1G;Zng;?6;a)Hd93iES6g03zo%0ux)`;d2HcY!;(TbMY zZ$%S1AJES$DyvD|OaB__TcUp#DCYl4^fS=UJe)DG4F=&h42A(Xz;+-Sxg5=eKCsA} zJ(*I?uM`9i&(aGm=2JVkUR0h{k?k>l#Ph6fg_!Js=^i&+27C`mN>La>jzUI)S4IN6 z{5(t?ybGfe)Dx6pCw9;0nVQcr3PiT2cpi^NL*wF7IIr0bB5f2a;`Y?gqBkG?Tk`zO zfPNYc@?pC3`;Co%<&pblSZ|4|2en{SPinhM(TF zWcP{}k_1K$Q{F{$z(wCUwXuoNqtp*6g&rYfJo3Vmbm?+u$Bm)|%*)B3u33MXh`fEX zLFX2oPx;TN>-TnF-V#^~epWuLspquTJ}Fz3X+9VAR-JSH@xW0HrC=!<0q z7C5>$kkX*joeY_6bfK=7g>`VGLvibvxzgsuz%$AcPQZy}i(et|gch{7dTS%gMAoY_ z``fOVZ=Oy+KY9zRaAqEsq8faJ`G(CexK)gEQyoi+#DsQHk@u-9ZY1rsrC*lClM`1@ zTy~um66(S1Jht{5u4Crqi#VxJ>uX^?&&pcJ8K!Fi-PqpO>KMGiZhAs2JnG8%ydwdP z!zhPvET^AsZz8q9Di(`qzWwxR_PWzt1%~7kH@a!b0q_{+VOKhV%?qPS`a0Eqaf+wS zE2W4psaN_W^%8S!kKvE35R?V5jmDBnoBkXSlMy*wNHtzL@I{%W^;#>9|IYMEu+mi@ ztyD$lGmiF6Sz&jmsc$D++Szx#%R2E)**8%vOBx3-aC8pnEaNr6vSg=(Yl>K^_f2KQ z`n`gj_TDw(CCNA%&DE8k+Bo+d9;LMYar$G+6jL6xq8dgah_lK13Ih@y`k=g~lAL2g z@619}YCTFdn}@r%`*@T-2z;Wp0f2&%Qw}iKzvS75%WrjHO;iJXv zLQ_)_YFT|Z&25iqjvKUK+v_}2@*}Q)F=7UG5o(QF31cuyWL8+g@}~1GU8%5QcdNy^ zv?cASG2%dDno(89jr{(V7!wiWk66Di%-znk*cs#4W?iN)rHiC0wuC!N!**fgK09x( z>51uR&0kI}PVC7#$R``1GLVY4(IYlcV>5Lhq6R)SJ%eQ}`!oD+6K`(4#XV;}WuuF^ zojbKfeCCrgGSfa)y`!Tn;mW(%2!rA!yOkPJM#*BD{f3TD9>b!V;2mcekZ`@6Fub3@ zW3wC0{j6QMZM2Jgg`=7G#k0|LR4ev|cwe%Xv(TkX(GU*sVfSg*GRjAFdukq?OALCY znt3Z79^SfhJmn$5Woq;^n>U(vc*Zv#N6FDwV_H(ngd=d|2!o)@|8cW_-Tc-~E4Hy~%i(#7k$Ig8)ycJT?CPIPD>ID*B9|-eJ;MY>!vY>WbuK zj$i+=$>f5G52!!a=byNmDvFnA%|4^{8D&dbb;xFCKf7ML5rn&E)m@jbF9=Vx>7~T( zIoYo-X@m%CEUdo6A+zm+i+wZm&oWc2bmS64N>&7~rlZ|P|3t2)Hcv2m)w741c27V( zem}aaq&itCD2@=s0hOq>cg#Z+Y&;HWO>OE*WJ@gQW69ps;hE-vTy}r@lJL_(-@MA~ z`9u9aDk_gdV!upWKP%9aGhM~#-OAP%VTo-$j+AFf(C~5I)%TRzBW0S(2TFaUlBZ9E z8wy@J9=1y~^^rzbk2c;g@GkcksAx9aSc_5vYk4iODDXB)4^XV^JcvZ?w&8x!eO<>b z0QQJd*^V1FcEJ_zD1J_zn-lC|93?w-IfqXlu=wey_xETqnlzO{$_X>$(~V|6gA?7Q z%f>62A9o$7lo~~}8QG|dW9l)6kep5q7)zO1|Hu-$#8_qK(I@deCwsz3^^D#E&i zg`-11R97_)&Vw8LJ!<^fGgVs@Thi#D~_WWk_T?=8}&c`ZwLwT> + + + + + + + + + + + diff --git a/website/static/img/fastai.png b/website/static/img/fastai.png new file mode 100644 index 0000000000000000000000000000000000000000..8cadf96e3828091721c432b1a8b9a911d362332a GIT binary patch literal 9613 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 + + + + + + + + + + + + + + + + diff --git a/website/static/img/h2o.svg b/website/static/img/h2o.svg new file mode 100644 index 000000000..9d526f60b --- /dev/null +++ b/website/static/img/h2o.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/johnsnowlab.svg b/website/static/img/johnsnowlab.svg new file mode 100644 index 000000000..e80d6ae45 --- /dev/null +++ b/website/static/img/johnsnowlab.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/litellm.png b/website/static/img/litellm.png new file mode 100644 index 0000000000000000000000000000000000000000..12c346d997f83ec6018e63e455a410e2c23105d1 GIT binary patch literal 20532 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 + + + + + + + + + + + + + + + + + diff --git a/website/static/img/onnx.svg b/website/static/img/onnx.svg new file mode 100644 index 000000000..53631bda4 --- /dev/null +++ b/website/static/img/onnx.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/promptflow.svg b/website/static/img/promptflow.svg new file mode 100644 index 000000000..d7f338251 --- /dev/null +++ b/website/static/img/promptflow.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/sentence-transformers.svg b/website/static/img/sentence-transformers.svg new file mode 100644 index 000000000..4cfd29d9f --- /dev/null +++ b/website/static/img/sentence-transformers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/spacy.svg b/website/static/img/spacy.svg new file mode 100644 index 000000000..187acdbc0 --- /dev/null +++ b/website/static/img/spacy.svg @@ -0,0 +1,24 @@ + + + + + + diff --git a/website/static/img/statsmodels.svg b/website/static/img/statsmodels.svg new file mode 100644 index 000000000..ac9aabbc4 --- /dev/null +++ b/website/static/img/statsmodels.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + +