diff --git a/assets/scss/common/_custom.scss b/assets/scss/common/_custom.scss index dc286d9..3490307 100644 --- a/assets/scss/common/_custom.scss +++ b/assets/scss/common/_custom.scss @@ -195,8 +195,8 @@ body > * { // 2000px tall — that much between every pair is height a thumb has to travel past. // // Each block owns the space below itself, so every gap is set in exactly one -// place. That is why `.section-cta` zeroes its top padding rather than splitting -// the difference with the section above it. +// place: a section zeroes its top padding rather than splitting the difference +// with the section above it. // Tightened from clamp(2.5rem, 5.5vw, 4.5rem) when the section labels came out: with // two fewer bands, gaps sized to separate them left the page reading as islands. $home-gap: clamp(2rem, 4.5vw, 3.5rem); @@ -1289,35 +1289,142 @@ $map-pulse-offsets: color: $gray-600; } -// The donation call to action. Deliberately unboxed: a panel here competed with -// the project cards for attention and left a large empty band across the page. -// A plain centred line separates it from the grid on whitespace alone. -.feature-cta { - // No top margin of its own: it sits in `.section-cta` now, whose padding is - // what separates it from the projects above, so a margin here would be added twice. - margin: 0; +// "More on GitHub" under the grid: an outlined pill in the cards' own border and +// ink, so it reads as the end of the list. A bare orange link here looked like the +// call to action below it, and the two ran together. +.feature-more { + margin: 2rem 0 0; text-align: center; +} + +.feature-more-link { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 1.125rem; font-size: 0.9375rem; + font-weight: 500; + // The CSS variable, not `$body-color`, so it follows dark mode like the cards. + color: var(--bs-body-color); + text-decoration: none; + background: rgba($primary, 0.02); + border: 1px solid rgba($primary, 0.18); + border-radius: 999px; + transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease; - .feature-cta-title { - font-weight: 600; + .feature-more-arrow { + transition: transform 0.15s ease; + } + + &:hover, + &:focus-visible { color: $primary; + background: rgba($primary, 0.06); + border-color: rgba($primary, 0.45); + + .feature-more-arrow { + transform: translateX(3px); + } } - // Set when data/projects.yaml gives the call to action a `url`. - a.feature-cta-title { - text-decoration: none; + @media (prefers-reduced-motion: reduce) { + &, + .feature-more-arrow { + transition: none; + } - &:hover { - text-decoration: underline; + &:hover .feature-more-arrow, + &:focus-visible .feature-more-arrow { + transform: none; } } +} - // Lighter than the name, so the line reads as a name and its gloss. Spacing comes - // from the space between the two spans in the template, so the sentence still - // wraps at word boundaries on a phone. +// The closing call to action: a heading, a line, and two buttons, on a faint wash +// of the accent that fades out at its edges. Not a bordered panel — a box here once +// competed with the project cards — but no longer a lone muted line either, which +// ended the page on its quietest element. +.feature-cta { + max-width: 40rem; + margin: 0 auto; + padding: 2.5rem 1.5rem; + text-align: center; + background: radial-gradient(ellipse at center, rgba($primary, 0.07) 0%, rgba($primary, 0) 70%); + + // The gap to the buttons. `.feature-cta-text`, when set, brings its own. + // A slogan, three words, so set as display type rather than as a section label: + // between the 36px hero headline and the 18px "Featured Projects" (rendered, + // through the homepage's `zoom: 0.9`), heavy, and tracked in a touch the way + // large type wants. Scales down with the window like the headline does. + .feature-cta-title { + margin: 0 0 1.5rem; + font-size: clamp(1.5rem, 2.4vw, 1.875rem); + font-weight: 700; + letter-spacing: -0.02em; + line-height: 1.2; + } + + // Muted with colour rather than `opacity`, as on the card descriptions. .feature-cta-text { - opacity: 0.7; + margin: -0.75rem 0 1.5rem; + font-size: 1rem; + color: rgba(var(--bs-body-color-rgb), 0.78); + } +} + +.feature-cta-actions { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 0.75rem; +} + +// Pills, the shape of "More on GitHub" above, but taller: these are the page's +// actions, that one is a way to see more of the list. +.feature-cta-btn { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.625rem 1.375rem; + font-size: 0.9375rem; + font-weight: 600; + color: $primary; + text-decoration: none; + background: var(--bs-body-bg); + border: 1px solid rgba($primary, 0.35); + border-radius: 999px; + transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, + transform 0.15s ease; + + &:hover, + &:focus-visible { + border-color: $primary; + background: rgba($primary, 0.06); + box-shadow: 0 4px 14px rgba($primary, 0.15); + transform: translateY(-1px); + } + + @media (prefers-reduced-motion: reduce) { + transition: none; + + &:hover, + &:focus-visible { + transform: none; + } + } +} + +.feature-cta-btn-primary { + color: #fff; + background: $primary; + border-color: $primary; + + &:hover, + &:focus-visible { + color: #fff; + background: darken($primary, 6%); + border-color: darken($primary, 6%); + box-shadow: 0 6px 18px rgba($primary, 0.3); } } diff --git a/content/_index.md b/content/_index.md index 7a77003..f3cc513 100644 --- a/content/_index.md +++ b/content/_index.md @@ -4,8 +4,8 @@ title: "Exploring the ∞ possibilities of AI" # first-time visitor what InftyAI actually does — and, sitting directly above the # map, it is also what says the map is of contributors: the key under the map has # no visible label of its own. -lead: "Open source AI infrastructure, built by contributors around the world." -description: "InftyAI is a non-profit organization focused on building AI infrastructure, including model training & inference, agentic systems and more. We 💙 Open Source." +lead: "Open-source AI infrastructure, built by contributors around the world." +description: "InftyAI is a non-profit building open-source AI infrastructure, from LLM inference and GPU orchestration to agents and LLMOps tooling, with contributors around the world." date: 2023-09-07T16:33:54+02:00 lastmod: 2023-09-07T16:33:54+02:00 draft: false @@ -13,7 +13,7 @@ seo: title: "InftyAI ∞" # custom title (optional) # Deliberately not a copy of the title — search snippets and social cards # previously showed the same eight words twice. - description: "InftyAI is a non-profit organization focused on building AI infrastructure, including model training & inference, agentic systems and more. We 💙 Open Source." + description: "InftyAI is a non-profit building open-source AI infrastructure, from LLM inference and GPU orchestration to agents and LLMOps tooling, with contributors around the world." canonical: "" # custom canonical URL (optional) robots: "" # custom robot tags (optional) --- diff --git a/data/contributors.json b/data/contributors.json index fce55a2..f512c60 100644 --- a/data/contributors.json +++ b/data/contributors.json @@ -1,7 +1,7 @@ { "generated": "2026-10-22", - "total": 86, - "located": 50, + "total": 87, + "located": 51, "places": [ { "label": "Shanghai, China", @@ -767,6 +767,26 @@ ], "more": 0 }, + { + "label": "Singapore", + "country": "Singapore", + "lat": 1.35, + "lng": 103.82, + "short": "Singapore", + "offset": { + "dx": 11, + "dy": 4, + "anchor": "start" + }, + "count": 1, + "people": [ + { + "login": "xqliu", + "avatar": "https://avatars.githubusercontent.com/u/22554?v=4&s=64" + } + ], + "more": 0 + }, { "label": "Tampa, USA", "country": "United States", @@ -788,13 +808,13 @@ "more": 0 } ], - "cities": 28, - "countryCount": 21, + "cities": 29, + "countryCount": 22, "regions": [ { "name": "Asia", - "count": 18, - "percent": 21 + "count": 19, + "percent": 22 }, { "name": "Europe", @@ -822,10 +842,10 @@ "percent": 1 }, { - "name": "Others", + "name": "Unlisted", "count": 36, "note": "Contributors whose GitHub profile does not say where they are.", - "percent": 42 + "percent": 41 } ] } diff --git a/data/projects.yaml b/data/projects.yaml index 1cc1a48..a3ae352 100644 --- a/data/projects.yaml +++ b/data/projects.yaml @@ -10,22 +10,27 @@ projects: - name: Awesome-LLMOps repo: InftyAI/Awesome-LLMOps url: https://github.com/InftyAI/Awesome-LLMOps - description: "An awesome & curated list of best LLMOps tools." + description: "A curated list of the best LLMOps tools." + + - name: Awesome-Kernel-Agents + repo: InftyAI/Awesome-Kernel-Agents + url: https://github.com/InftyAI/Awesome-Kernel-Agents + description: "A curated list of AI agents for GPU kernel generation, optimization, and verification." - name: llmaz repo: InftyAI/llmaz url: https://github.com/InftyAI/llmaz - description: "Easy, advanced inference platform for large language models on Kubernetes." + description: "An easy-to-use, production-grade inference platform for LLMs on Kubernetes." - name: Alphatrion repo: InftyAI/alphatrion url: https://github.com/InftyAI/alphatrion - description: "The open-source framework for LLM experiments and agent orchestration." + description: "A framework for LLM experiments and agent orchestration." - - name: AMRS - repo: InftyAI/amrs - url: https://github.com/InftyAI/amrs - description: "The adaptive model routing system for exploration and exploitation." + # - name: AMRS + # repo: InftyAI/amrs + # url: https://github.com/InftyAI/amrs + # description: "The adaptive model routing system for exploration and exploitation." - name: SandD repo: InftyAI/sandd @@ -35,16 +40,29 @@ projects: - name: Nebula repo: InftyAI/Nebula url: https://github.com/InftyAI/Nebula - description: "The control plane for GPUaaS." + description: "The control plane for GPUaaS — across neoclouds, hyperscalers, and your own infrastructure." - name: MLX repo: InftyAI/mlx url: https://github.com/InftyAI/mlx description: "Rust bindings for Apple's MLX framework." -# Rendered below the grid as one line — not a project, so it has no `repo` (no -# star count). `url` is optional: set it and the name becomes a link; leave it out -# and the line is plain text, as it was. +# The link under the grid: the cards are a selection, the rest are on GitHub. +more: + name: "More on GitHub" + url: https://github.com/InftyAI + +# The page's closing block, below the grid: `title`, an optional `text` under it, +# then a button for each of `links`. No `text` for now — every line tried here +# restated the lead at the top of the page. The first link is the main action +# and is drawn filled. `icon` is optional — `discord` or `heart` (see the cta +# section in home.html). cta: - name: "✨ Donation Plan" - description: "Got a brilliant idea? Let's build something extraordinary together." + title: "Build. Grow. Together." + links: + - name: "Join our Discord" + icon: discord + url: https://discord.com/invite/UWnjUG6X8j + - name: "Sponsor" + icon: heart + url: https://opencollective.com/inftyai diff --git a/hugo_stats.json b/hugo_stats.json index 0198217..78eb253 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -31,7 +31,6 @@ "noscript", "p", "path", - "rect", "script", "section", "small", @@ -74,10 +73,15 @@ "error404", "feature-card", "feature-cta", - "feature-cta-text", + "feature-cta-actions", + "feature-cta-btn", + "feature-cta-btn-primary", "feature-cta-title", "feature-grid", "feature-grid-title", + "feature-more", + "feature-more-arrow", + "feature-more-link", "feature-stars", "feature-stars-count", "flex-column", @@ -181,9 +185,6 @@ "visually-hidden", "worldmap", "worldmap-avatar", - "worldmap-bar", - "worldmap-bar-rest", - "worldmap-bar-segment", "worldmap-city", "worldmap-city-head", "worldmap-city-login", @@ -193,23 +194,18 @@ "worldmap-hit", "worldmap-hit-left", "worldmap-hits", - "worldmap-key-by", - "worldmap-key-hidden", "worldmap-key-title", "worldmap-label", "worldmap-land", "worldmap-layout", "worldmap-place", "worldmap-pulse", - "worldmap-region-bar", "worldmap-region-name", "worldmap-region-rest", "worldmap-region-share", - "worldmap-region-track", "worldmap-regions", "worldmap-summary", "worldmap-svg", - "worldmap-swatch", "wrap" ], "ids": [ diff --git a/layouts/_default/home.html b/layouts/_default/home.html index 36a05e7..68057fb 100644 --- a/layouts/_default/home.html +++ b/layouts/_default/home.html @@ -317,7 +317,7 @@
- {{ if .url -}} - {{ .name }} - {{- else -}} - {{ .name }} - {{- end }} - {{ .description }} -
+ {{/* A heading, a line, and two buttons. As one line of muted text with + two inline links, it read as a footnote under the "More on GitHub" + pill — the page ended on its quietest element. Icons are the + header's (menus.en.toml). */}} + {{ $icons := dict + "discord" `{{ . }}
{{ end }} + {{ with .links -}} +