docs(core): add webinar info for 2025-05-28 (#31201)

Adds a May 28th webinar info and notifier
This commit is contained in:
Isaac Mann 2025-05-14 07:01:17 -04:00 committed by GitHub
parent 889dee0854
commit 552d6b1ea8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 54 additions and 28 deletions

View File

@ -7,7 +7,7 @@ authors: ['Victor Savkin', 'Max Kless']
tags: [webinar] tags: [webinar]
cover_image: /blog/images/2025-04-30/April-2025-Webinar-Card.avif cover_image: /blog/images/2025-04-30/April-2025-Webinar-Card.avif
time: 10:30am ET/2:30pm UTC time: 10:30am ET/2:30pm UTC
status: Upcoming status: Past - Gated
registrationUrl: https://go.nx.dev/april2025-webinar registrationUrl: https://go.nx.dev/april2025-webinar
--- ---
@ -17,4 +17,4 @@ Presented by Victor Savkin and Max Kless
In this webinar, Nx CTO Victor Savkin and Senior Engineer Max Kless will break down **why monorepos are inherently more AI-friendly**, giving LLMs the full context they need to generate more accurate, actionable insights. Youll also learn how Nx provides deep architectural awareness, making AI tools smarter and more effective. In this webinar, Nx CTO Victor Savkin and Senior Engineer Max Kless will break down **why monorepos are inherently more AI-friendly**, giving LLMs the full context they need to generate more accurate, actionable insights. Youll also learn how Nx provides deep architectural awareness, making AI tools smarter and more effective.
{% call-to-action title="Register today!" url="https://go.nx.dev/april2025-webinar" description="Save your spot" /%} {% call-to-action title="Download the recording" url="https://go.nx.dev/april2025-webinar" description="Sign up to gain access" /%}

View File

@ -0,0 +1,24 @@
---
title: "**Build Better,Ship ****Faster: ****Monorepos, Apps, & Component Libraries **with Nx Cloud"
description: "Unlock faster development and more efficient CI/CD workflows with Nx and Bitovi.
Bitovi's Ilyass Elfouih and Nx's Jordan Powell will walk through a **real-world scenario** where a frontend team updates a shared component, faces a classic code owner approval challenge, and uses Nx Cloud to fix and validate the change without triggering a full test suite."
date: 2025-05-14
slug: 'build-bettershipfaster-monorepos-apps-component-libraries-with-nx-cloud'
authors: ['Jordan Powell (Nx)', 'Ilyass Elfouih (Bitovi)']
tags: [webinar]
cover_image: /blog/images/2025-05-28/Nx-Partner-Webinar---May-2025.avif
time: 1pm ET/5pm UTC
status: Upcoming
registrationUrl: https://bit.ly/4jQLCqp
---
**May 28, 2025 - 1pm ET/5pm UTC**
Presented by Jordan Powell (Nx) and Ilyass Elfouih (Bitovi)
Unlock faster development and more efficient CI/CD workflows with Nx and Bitovi.
Bitovi's Ilyass Elfouih and Nx's Jordan Powell will walk through a **real-world scenario** where a frontend team updates a shared component, faces a classic code owner approval challenge, and uses Nx Cloud to fix and validate the change without triggering a full test suite.
{% call-to-action title="Register today!" url="https://bit.ly/4jQLCqp" description="Save your spot" /%}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

View File

@ -86,7 +86,7 @@ export default function CustomApp({
</Link> </Link>
<Component {...pageProps} /> <Component {...pageProps} />
{/* <LiveStreamNotifier /> */} {/* <LiveStreamNotifier /> */}
{/*<WebinarNotifier />*/} <WebinarNotifier />
{/* Global Site Tag (gtag.js) - Google Analytics */} {/* Global Site Tag (gtag.js) - Google Analytics */}
<Script <Script

View File

@ -11,7 +11,7 @@ import {
export function WebinarNotifier(): ReactElement | null { export function WebinarNotifier(): ReactElement | null {
const [isMounted, setIsMounted] = useState(false); const [isMounted, setIsMounted] = useState(false);
const [isVisible, setIsVisible] = useState<boolean>(true); const [isVisible, setIsVisible] = useState<boolean>(true);
const localStorageKey = 'webinar-april-30-2025--notifier-closed'; const localStorageKey = 'webinar-may-28-2025--notifier-closed';
useEffect(() => { useEffect(() => {
setIsMounted(true); setIsMounted(true);
@ -61,19 +61,18 @@ export function WebinarNotifier(): ReactElement | null {
aria-hidden="true" aria-hidden="true"
className="size-8 flex-shrink-0" className="size-8 flex-shrink-0"
/> />
<span>Join our webinar + live Q&A on April 30th</span> <span>Join our webinar + live Q&A on May 28th</span>
</motion.h3> </motion.h3>
<motion.div key="live-event" className="mt-4 space-y-4"> <motion.div key="live-event" className="mt-4 space-y-4">
<p className="mb-2 text-sm"> <p className="mb-2 text-sm">
Join Victor Savkin and Max Kless discuss why LLMs struggle with Weve teamed up with Bitovi to bring you an all new webinar. Join
fragmented codebases, how monorepos + Nx create AI-powered us May 28th for "Build Better,Ship Faster: Monorepos, Apps, &
architectural decisions, and the before-and-after experience of Component Libraries with Nx Cloud".
AI-powered coding in Nx.
</p> </p>
<div className="flex flex-wrap items-center justify-end gap-1 sm:gap-4"> <div className="flex flex-wrap items-center justify-end gap-1 sm:gap-4">
<a <a
title="Signup" title="Signup"
href="https://bit.ly/42dwGwm" href="https://bit.ly/4jQLCqp"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="inline-flex items-center justify-center gap-2 rounded-lg bg-pink-600 px-2 py-2 text-sm font-semibold text-white transition hover:bg-pink-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-black/70 md:px-4" className="inline-flex items-center justify-center gap-2 rounded-lg bg-pink-600 px-2 py-2 text-sm font-semibold text-white transition hover:bg-pink-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:text-black/70 md:px-4"

View File

@ -25,24 +25,24 @@ export function Hero(): ReactElement {
<div className="absolute inset-0"> <div className="absolute inset-0">
<div className="mx-auto max-w-7xl lg:flex"> <div className="mx-auto max-w-7xl lg:flex">
<div className="mx-auto max-w-3xl px-6 pb-24 pt-36 lg:mx-0 lg:shrink-0 lg:px-8"> <div className="mx-auto max-w-3xl px-6 pb-24 pt-36 lg:mx-0 lg:shrink-0 lg:px-8">
{/*<p>*/} <p>
{/* <a*/} <a
{/* href="https://bit.ly/42dwGwm"*/} href="https://bit.ly/4jQLCqp"
{/* title="See live event in details"*/} title="See live event in details"
{/* className="group/event-link inline-flex space-x-6"*/} className="group/event-link inline-flex space-x-6"
{/* >*/} >
{/* <span className="rounded-full bg-blue-600/10 px-3 py-1 text-sm/6 font-semibold text-blue-600 ring-1 ring-inset ring-blue-600/10 dark:bg-cyan-600/10 dark:text-cyan-600 dark:ring-cyan-600/10">*/} <span className="rounded-full bg-blue-600/10 px-3 py-1 text-sm/6 font-semibold text-blue-600 ring-1 ring-inset ring-blue-600/10 dark:bg-cyan-600/10 dark:text-cyan-600 dark:ring-cyan-600/10">
{/* Live event*/} Live event
{/* </span>*/} </span>
{/* <span className="inline-flex items-center space-x-2 text-sm/6 font-medium">*/} <span className="inline-flex items-center space-x-2 text-sm/6 font-medium">
{/* <span>Webinar + live Q&A on March 19th</span>*/} <span>Webinar + live Q&A on May 28th</span>
{/* <ChevronRightIcon*/} <ChevronRightIcon
{/* aria-hidden="true"*/} aria-hidden="true"
{/* className="size-5 transform transition-all group-hover/event-link:translate-x-1"*/} className="size-5 transform transition-all group-hover/event-link:translate-x-1"
{/* />*/} />
{/* </span>*/} </span>
{/* </a>*/} </a>
{/*</p>*/} </p>
<SectionHeading <SectionHeading
id="get-speed-and-scale" id="get-speed-and-scale"
as="h1" as="h1"

View File

@ -181,6 +181,9 @@ async function main() {
cover_image = `/blog/images/${ cover_image = `/blog/images/${
webinar.Date.date.start webinar.Date.date.start
}/${imageFiles[0].name.replaceAll(' ', '-')}`; }/${imageFiles[0].name.replaceAll(' ', '-')}`;
if (existsSync(imageFilePath.replace('.png', '.avif'))) {
cover_image = cover_image.replace('.png', '.avif');
}
} }
const webinarMarkdown = `--- const webinarMarkdown = `---