diff --git a/docs/blog/2024-06-18-podcast-episode-1-hicham-el-hammouchi.md b/docs/blog/2024-06-18-podcast-episode-1-hicham-el-hammouchi.md new file mode 100644 index 0000000000..ff85b34824 --- /dev/null +++ b/docs/blog/2024-06-18-podcast-episode-1-hicham-el-hammouchi.md @@ -0,0 +1,18 @@ +--- +title: 'Nx Enterprise Podcast Episode 1: Hicham El Hammouchi' +slug: 'hicham-el-hammouchi-podcast-1' +authors: ['Zack DeRose'] +tags: [podcast] +cover_image: /blog/images/2024-06-18/ep-1-hicham.png +podcastYoutubeId: 8iiLB_2djZ8 +podcastSpotifyId: 24yagCNpu9EGj0fCwSDQkj +podcastAmazonUrl: https://music.amazon.com/podcasts/a221fdad-36fd-4695-a5b4-038d7b99d284/episodes/899a2e4c-2e56-4dfa-a3e3-e69eb216f2b0/the-enterprise-software-podcast-by-nx-the-enterprise-software-podcast-by-nx-1-hicham-el-hamouchi +podcastAppleUrl: https://podcasters.spotify.com/pod/show/enterprise-software/episodes/The-Enterprise-Software-Podcast-By-Nx-1--Hicham-El-Hamouchi-e2l0302 +podcastIHeartUrl: https://www.iheart.com/podcast/269-the-enterprise-software-po-186891508/episode/the-enterprise-software-podcast-by-nx-186891511/ +--- + +In this episode, Zack DeRose from Nx chats with Hicham El Hammouchi, a veteran in enterprise software. Hicham dives into his background, sharing his career journey and the wealth of experience he's gathered along the way. + +They tackle the tough challenges that companies face in software development. Hicham offers practical insights and real-life examples from his own career, making complex issues easier to understand. He also shares some tried-and-true strategies for overcoming these hurdles, emphasizing the importance of teamwork and effective project management. + +As the chat continues, Zack and Hicham explore the latest tech trends and innovations that are shaking up the industry. Hicham's forward-thinking views provide a sneak peek into the future of enterprise software. They also discuss detailed case studies of successful projects, highlighting the importance of staying focused on customer needs and feedback. diff --git a/docs/blog/2024-07-19-podcast-episode-2-tine-kondo.md b/docs/blog/2024-07-19-podcast-episode-2-tine-kondo.md new file mode 100644 index 0000000000..6991711eac --- /dev/null +++ b/docs/blog/2024-07-19-podcast-episode-2-tine-kondo.md @@ -0,0 +1,18 @@ +--- +title: 'Nx Enterprise Podcast Episode 2: Tine Kondo' +slug: 'tine-kondo-podcast-2' +authors: ['Zack DeRose'] +tags: [podcast] +cover_image: /blog/images/2024-07-19/ep-2-tine.png +podcastYoutubeId: Nzf3BmymfEo +podcastSpotifyId: 0CCQaWCln7rvwkkVvsyxsk +podcastAmazonUrl: https://music.amazon.com/podcasts/a221fdad-36fd-4695-a5b4-038d7b99d284/episodes/53934cd9-c521-441e-8523-8b947ed207ca/the-enterprise-software-podcast-by-nx-the-enterprise-software-podcast-by-nx-2-tine-kondo +podcastAppleUrl: https://podcasts.apple.com/us/podcast/the-enterprise-software-podcast-by-nx-2-tine-kondo/id1752704996?i=1000662764990 +podcastIHeartUrl: https://www.iheart.com/podcast/269-the-enterprise-software-po-186891508/episode/the-enterprise-software-podcast-by-nx-197335640/ +--- + +In this episode, welcome Nx Champion and Nx Expert, Tine Kondo. Our discussion highlights how Nx is poised to make an impact in the Java space. + +We touch on the difficulties larger organizations face when merging PRs in a timely manner, emphasizing how a monorepo alleviates the headache of coordinating multiple PRs across various repositories, and share firsthand experiences and frustrations with traditional multi-repo setups, underscoring the benefits of a unified approach. + +In particular, Nx's new plugin: [@nx/gradle](/nx-api/gradle) is of interest, and Tine provides some valuable insight on the impact this plugin can make, as well as the importance for Maven support. diff --git a/docs/blog/2024-08-14-podcast-episode-3-ahmed-elsakaan.md b/docs/blog/2024-08-14-podcast-episode-3-ahmed-elsakaan.md new file mode 100644 index 0000000000..77e530671c --- /dev/null +++ b/docs/blog/2024-08-14-podcast-episode-3-ahmed-elsakaan.md @@ -0,0 +1,16 @@ +--- +title: 'Nx Enterprise Podcast Episode 3: Ahmed Elsakaan' +slug: 'ahmed-elsakaan-podcast-3' +authors: ['Zack DeRose'] +tags: [podcast] +cover_image: /blog/images/2024-08-14/ep-3-ahmed.png +podcastYoutubeId: l_b6EOXqYRg +podcastSpotifyId: 4d4oE8B3y9BmECZ3P4uvDP +podcastAmazonUrl: https://music.amazon.com/podcasts/a221fdad-36fd-4695-a5b4-038d7b99d284/episodes/28209cf9-1b88-48b5-a798-7b24c843e9b1/the-enterprise-software-podcast-by-nx-the-enterprise-software-podcast-by-nx-3-ahmed-elsakaan +podcastAppleUrl: https://podcasts.apple.com/us/podcast/the-enterprise-software-podcast-by-nx-3-ahmed-elsakaan/id1752704996?i=1000665363260 +podcastIHeartUrl: https://www.iheart.com/podcast/269-the-enterprise-software-po-186891508/episode/the-enterprise-software-podcast-by-nx-205664230/ +--- + +In this episode we welcome Nx Champion and creator of [noodle](https://noodle.run) and [OrbitKit](https://orbitkit.dev/): Ahmed Elsakaan. + +As a monorepo enthusiast, we explore Ahmed's thoughts on monorepos and how these tools can add value to developers - both in the space of setting up your monorepo (like Nx does) and in the space of creating reusable customizable modules (like OrbitKit is attempting). diff --git a/docs/blog/images/2024-06-18/ep-1-hicham.png b/docs/blog/images/2024-06-18/ep-1-hicham.png new file mode 100644 index 0000000000..f7dc878692 Binary files /dev/null and b/docs/blog/images/2024-06-18/ep-1-hicham.png differ diff --git a/docs/blog/images/2024-07-19/ep-2-tine.png b/docs/blog/images/2024-07-19/ep-2-tine.png new file mode 100644 index 0000000000..3a03cbb128 Binary files /dev/null and b/docs/blog/images/2024-07-19/ep-2-tine.png differ diff --git a/docs/blog/images/2024-08-14/ep-3-ahmed.png b/docs/blog/images/2024-08-14/ep-3-ahmed.png new file mode 100644 index 0000000000..c959cedff9 Binary files /dev/null and b/docs/blog/images/2024-08-14/ep-3-ahmed.png differ diff --git a/nx-dev/data-access-documents/src/lib/blog.api.ts b/nx-dev/data-access-documents/src/lib/blog.api.ts index f1fd9eb33a..921acf5b27 100644 --- a/nx-dev/data-access-documents/src/lib/blog.api.ts +++ b/nx-dev/data-access-documents/src/lib/blog.api.ts @@ -68,6 +68,11 @@ export class BlogApi { ogImageType: type, filePath, slug, + podcastYoutubeId: frontmatter.podcastYoutubeId, + podcastSpotifyId: frontmatter.podcastSpotifyId, + podcastIHeartUrl: frontmatter.podcastIHeartUrl, + podcastAppleUrl: frontmatter.podcastAppleUrl, + podcastAmazonUrl: frontmatter.podcastAmazonUrl, }; const isDevelopment = process.env.NODE_ENV === 'development'; const shouldIncludePost = !frontmatter.draft || isDevelopment; diff --git a/nx-dev/data-access-documents/src/lib/blog.model.ts b/nx-dev/data-access-documents/src/lib/blog.model.ts index 8369ffb6eb..8315d825c0 100644 --- a/nx-dev/data-access-documents/src/lib/blog.model.ts +++ b/nx-dev/data-access-documents/src/lib/blog.model.ts @@ -11,8 +11,11 @@ export type BlogPostDataEntry = { pinned?: boolean; filePath: string; slug: string; - ogImage: string; - ogImageType: string; + podcastYoutubeId?: string; + podcastSpotifyId?: string; + podcastAmazonUrl?: string; + podcastAppleUrl?: string; + podcastIHeartUrl?: string; }; export type BlogAuthor = { diff --git a/nx-dev/ui-blog/src/lib/blog-details.tsx b/nx-dev/ui-blog/src/lib/blog-details.tsx index 4da7a7ec2b..09e9d70cca 100644 --- a/nx-dev/ui-blog/src/lib/blog-details.tsx +++ b/nx-dev/ui-blog/src/lib/blog-details.tsx @@ -4,6 +4,7 @@ import Image from 'next/image'; import { BlogAuthors } from './authors'; import { ChevronLeftIcon } from '@heroicons/react/24/outline'; import { renderMarkdown } from '@nx/nx-dev/ui-markdoc'; +import { EpisodePlayer } from './episode-player'; export interface BlogDetailsProps { post: BlogPostDataEntry; @@ -65,16 +66,28 @@ export function BlogDetails({ post }: BlogDetailsProps) { {post.title} - {post.cover_image && ( -