-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds a webinar page and a script to pull the webinar content from Notion
- Loading branch information
1 parent
a917817
commit 33352bc
Showing
37 changed files
with
905 additions
and
207 deletions.
There are no files selected for viewing
16 changes: 16 additions & 0 deletions
16
...24-01-24-monorepos-the-benefits-challenges-and-importance-of-tooling-support.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
title: 'Monorepos: the Benefits, Challenges, and Importance of Tooling Support ' | ||
description: 'Learn how monorepos and better tooling can help you overcome challenges in software development like scalability, maintenance, communication, and cost.' | ||
slug: 'monorepos-the-benefits-challenges-and-importance-of-tooling-support' | ||
authors: ['Juri Strumpflohner'] | ||
tags: [webinar] | ||
cover_image: /blog/images/2024-01-24/january-webinar-card.png | ||
status: Past - Gated | ||
registrationUrl: https://go.nx.dev/january-webinar | ||
--- | ||
|
||
Presented by Juri Strumpflohner | ||
|
||
Learn how monorepos and better tooling can help you overcome challenges in software development like scalability, maintenance, communication, and cost. | ||
|
||
{% call-to-action title="Download the recording" url="https://go.nx.dev/january-webinar" description="Sign up to gain access" /%} |
17 changes: 17 additions & 0 deletions
17
...log/2024-03-11-nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
title: "Nx Agents Walkthrough: | ||
Effortlessly Fast CI Built for Monorepos" | ||
description: "Learn how you can streamline your existing CI config to its absolute simplest form, reducing CI times from 30 minutes to ~5 minutes with Nx Agents. " | ||
slug: 'nx-agents-walkthrougheffortlessly-fast-ci-built-for-monorepos' | ||
authors: ['Rares Matei'] | ||
tags: [webinar] | ||
cover_image: /blog/images/2024-03-11/march-webinar.png | ||
status: Past - Gated | ||
registrationUrl: https://go.nx.dev/march-webinar | ||
--- | ||
|
||
Presented by Rares Matei | ||
|
||
Learn how you can streamline your existing CI config to its absolute simplest form, reducing CI times from 30 minutes to ~5 minutes with Nx Agents. | ||
|
||
{% call-to-action title="Download the recording" url="https://go.nx.dev/march-webinar" description="Sign up to gain access" /%} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
title: 'Making the Argument for Monorepos' | ||
description: 'Trying to convince your colleagues to use a monorepo? Already using a monorepo and need to justify that decision? Check out this webinar to learn 7 essential reasons for using monorepos and bust a few myths and misconceptions along the way.' | ||
slug: 'making-the-argument-for-monorepos' | ||
authors: ['Miroslav Jonaš'] | ||
tags: [webinar] | ||
cover_image: /blog/images/2024-04-17/april-webinar.png | ||
status: Past - Gated | ||
registrationUrl: https://go.nx.dev/april-webinar | ||
--- | ||
|
||
Presented by Miroslav Jonaš | ||
|
||
Trying to convince your colleagues to use a monorepo? Already using a monorepo and need to justify that decision? Check out this webinar to learn 7 essential reasons for using monorepos and bust a few myths and misconceptions along the way. | ||
|
||
{% call-to-action title="Download the recording" url="https://go.nx.dev/april-webinar" description="Sign up to gain access" /%} |
18 changes: 18 additions & 0 deletions
18
...2024-06-26-monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
title: "Monorepos and CI can be a Mess - Here's How Nx and Nx Cloud Fixed It" | ||
description: "Continuous Integration (CI) in monorepos can be notoriously slow and unreliable, quickly become a bottleneck for scaling monorepos. | ||
Learn how Nx and Nx Cloud's new task-based approach ensures fast, resilient, and efficient CI for your monorepo projects." | ||
slug: 'monorepos-and-ci-can-be-a-mess-heres-how-nx-and-nx-cloud-fixed-it' | ||
authors: ['Juri Strumpflohner'] | ||
tags: [webinar] | ||
cover_image: /blog/images/2024-06-26/June-Webinar-card.png | ||
status: Past - Gated | ||
registrationUrl: https://go.nx.dev/june-webinar | ||
--- | ||
|
||
Presented by Juri Strumpflohner | ||
|
||
Continuous Integration (CI) in monorepos can be notoriously slow and unreliable, quickly become a bottleneck for scaling monorepos. | ||
Learn how Nx and Nx Cloud's new task-based approach ensures fast, resilient, and efficient CI for your monorepo projects. | ||
|
||
{% call-to-action title="Download the recording" url="https://go.nx.dev/june-webinar" description="Sign up to gain access" /%} |
19 changes: 19 additions & 0 deletions
19
docs/blog/2025-01-22-nx-cloud-scale-your-ci-and-team-with-ease.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
title: 'Nx Cloud: Scale Your CI and Team with Ease' | ||
description: 'Learn how you can attain fast, reliable CI and better coordination across your technical organization with Nx Cloud, and see our new multi-workspace features for organizational scaling in action.' | ||
slug: 'nx-cloud-scale-your-ci-and-team-with-ease' | ||
authors: ['Nicole Oliver', 'Rares Matei', 'James Henry'] | ||
tags: [webinar] | ||
cover_image: /blog/images/2025-01-22/Jan-webinar-image.png | ||
time: 1-2pm ET/6-7pm UTC | ||
status: Upcoming | ||
registrationUrl: https://go.nx.dev/jan2025-webinar | ||
--- | ||
|
||
**Jan 22, 2025 - 1-2pm ET/6-7pm UTC** | ||
|
||
Presented by Nicole Oliver, Rares Matei, and James Henry | ||
|
||
Learn how you can attain fast, reliable CI and better coordination across your technical organization with Nx Cloud, and see our new multi-workspace features for organizational scaling in action. | ||
|
||
{% call-to-action title="Register today!" url="https://go.nx.dev/jan2025-webinar" description="Save your spot" /%} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { BlogApi } from './blog.api'; | ||
import { WebinarDataEntry } from './webinar.model'; | ||
|
||
export class WebinarApi { | ||
_blogApi: BlogApi; | ||
|
||
constructor(options: { blogApi: BlogApi }) { | ||
this._blogApi = options.blogApi; | ||
} | ||
|
||
async getWebinarBlogs(): Promise<WebinarDataEntry[]> { | ||
return await this._blogApi.getBlogs((post) => | ||
post.tags.map((t) => t.toLowerCase()).includes('webinar') | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { BlogPostDataEntry } from './blog.model'; | ||
|
||
export interface WebinarDataEntry extends BlogPostDataEntry { | ||
status?: 'Upcoming' | 'Past - Gated' | 'Past - Ungated'; | ||
time?: string; | ||
registrationUrl?: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import { Metadata } from 'next'; | ||
import { webinarApi } from '../../lib/webinar.api'; | ||
import { DefaultLayout } from '@nx/nx-dev/ui-common'; | ||
import { Hero, WebinarList } from '@nx/nx-dev/ui-webinar'; | ||
|
||
export const metadata: Metadata = { | ||
title: 'Nx Webinar - Updates from the Nx & Nx Cloud team', | ||
description: 'Latest webinars from the Nx & Nx Cloud core team', | ||
openGraph: { | ||
url: 'https://nx.dev/webinar', | ||
title: 'Nx Webinar - Updates from the Nx & Nx Cloud team', | ||
description: | ||
'Stay updated with the latest webinars from the Nx & Nx Cloud team.', | ||
images: [ | ||
{ | ||
url: 'https://nx.dev/socials/nx-media.png', | ||
width: 800, | ||
height: 421, | ||
alt: 'Nx: Smart Monorepos · Fast CI', | ||
type: 'image/jpeg', | ||
}, | ||
], | ||
siteName: 'Nx', | ||
type: 'website', | ||
}, | ||
}; | ||
|
||
async function getWebinars() { | ||
return await webinarApi.getWebinarBlogs(); | ||
} | ||
export default async function Page() { | ||
const webinars = await getWebinars(); | ||
return ( | ||
<DefaultLayout> | ||
<Hero /> | ||
<WebinarList webinars={webinars} /> | ||
</DefaultLayout> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
import { blogApi } from './blog.api'; | ||
import { WebinarApi } from '@nx/nx-dev/data-access-documents/node-only'; | ||
|
||
export const webinarApi = new WebinarApi({ blogApi }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"presets": [ | ||
[ | ||
"@nx/react/babel", | ||
{ | ||
"runtime": "automatic", | ||
"useBuiltIns": "usage" | ||
} | ||
] | ||
], | ||
"plugins": [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"extends": ["plugin:@nx/react", "../../.eslintrc.json"], | ||
"ignorePatterns": ["!**/*"], | ||
"overrides": [ | ||
{ | ||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"], | ||
"rules": {} | ||
}, | ||
{ | ||
"files": ["*.ts", "*.tsx"], | ||
"rules": {} | ||
}, | ||
{ | ||
"files": ["*.js", "*.jsx"], | ||
"rules": {} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# ui-webinar | ||
|
||
This library was generated with [Nx](https://nx.dev). | ||
|
||
## Running unit tests | ||
|
||
Run `nx test ui-webinar` to execute the unit tests via [Jest](https://jestjs.io). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"name": "ui-webinar", | ||
"$schema": "../../node_modules/nx/schemas/project-schema.json", | ||
"sourceRoot": "nx-dev/ui-webinar/src", | ||
"projectType": "library", | ||
"tags": [], | ||
"// targets": "to see all targets run: nx show project ui-webinar --web", | ||
"targets": {} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
export * from './lib/hero'; | ||
export * from './lib/webinar-list'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import { SectionHeading } from '@nx/nx-dev/ui-common'; | ||
|
||
export function Hero(): JSX.Element { | ||
return ( | ||
<div className="mx-auto max-w-7xl"> | ||
<div className="grid grid-cols-4 gap-x-4 px-8 lg:grid-cols-12 lg:gap-x-6"> | ||
<div className="col-span-full md:col-span-4 lg:col-span-6"> | ||
<SectionHeading as="h1" variant="title"> | ||
Nx Webinars | ||
</SectionHeading> | ||
<div className="flex flex-col gap-6"> | ||
<SectionHeading as="p" variant="subtitle" className="mt-8"> | ||
In-depth explanations and interactive Q&A sessions with Nx team | ||
members | ||
</SectionHeading> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
import { BlogAuthors } from '@nx/nx-dev/ui-blog'; | ||
import Link from 'next/link'; | ||
import type { WebinarDataEntry } from '@nx/nx-dev/data-access-documents/node-only'; | ||
|
||
export interface WebinarListItemProps { | ||
webinar: WebinarDataEntry; | ||
episode: number; | ||
} | ||
export function WebinarListItem({ webinar, episode }: WebinarListItemProps) { | ||
const formattedDate = new Date(webinar.date).toLocaleDateString('en-US', { | ||
month: 'short', | ||
day: '2-digit', | ||
year: 'numeric', | ||
}); | ||
const authorsList = ( | ||
webinar.authors.length > 1 | ||
? webinar.authors.map((a, i) => | ||
i === webinar.authors.length - 1 ? 'and ' + a.name : a.name | ||
) | ||
: webinar.authors.map((a) => a.name) | ||
).join(', '); | ||
const link = | ||
(webinar.status === 'Past - Ungated' | ||
? webinar.youtubeUrl | ||
: webinar.registrationUrl) || ''; | ||
return ( | ||
<div | ||
key={webinar.slug} | ||
className="border-b border-slate-200 py-5 text-sm last:border-0 dark:border-slate-800 dark:before:bg-slate-800/50" | ||
> | ||
<Link href={link} prefetch={false}> | ||
<h3 className="text-balance text-lg text-slate-500 sm:w-8/12 dark:text-white"> | ||
{webinar.title} | ||
</h3> | ||
</Link> | ||
<span className="my-4 block"> | ||
<time dateTime={webinar.date}>{formattedDate}</time> | ||
</span> | ||
<span className="my-4 block"> | ||
<span className="inline-block"> | ||
<BlogAuthors authors={webinar.authors} showAuthorDetails={false} /> | ||
</span> | ||
<span className="mx-2 inline-block">{authorsList}</span> | ||
</span> | ||
<p className="my-2">{webinar.description}</p> | ||
<Link href={link} prefetch={false}> | ||
<span className="my-4 text-balance text-slate-500 sm:w-8/12 dark:text-white"> | ||
{webinar.status === 'Past - Gated' | ||
? 'Sign up to view the recording' | ||
: 'Watch the recording'} | ||
</span> | ||
</Link> | ||
</div> | ||
); | ||
} |
Oops, something went wrong.