Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions docs/src/components/BlogVimeoVideo.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import clsx from 'clsx';
import Script from 'next/script';

type Props = {
className?: string;
src: string;
title: string;
};

export default function BlogVimeoVideo({className, src, title}: Props) {
return (
<>
<div
className={clsx(
'relative w-full overflow-hidden rounded-lg shadow-lg',
className
)}
style={{padding: '56.25% 0 0 0'}}
>
<iframe
allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share"
className="absolute left-0 top-0 h-full w-full border-0"
frameBorder={0}
referrerPolicy="strict-origin-when-cross-origin"
src={src}
title={title}
/>
</div>
<Script
src="https://player.vimeo.com/api/player.js"
strategy="lazyOnload"
/>
</>
);
}
5 changes: 3 additions & 2 deletions docs/src/components/CourseBanner/CourseBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import thumb from './thumb.jpg';

type Props = {
title: string;
description: string;
};

export default function CourseBanner({
description = 'Learn how to build delightful, multilingual apps with Next.js—from the basics to advanced patterns, all through a real-world project.',
title = "Internationalization isn't just translating words"
}: Props) {
const id = useId();
Expand All @@ -32,8 +34,7 @@ export default function CourseBanner({
<div>
<h3 className="text-balance text-lg font-semibold">{title}</h3>
<p className="mt-1 text-balance text-sm text-slate-600 dark:text-slate-400">
Learn how to build delightful, multilingual apps with Next.js—from the
basics to advanced patterns, all through a real-world project.
{description}
</p>
<LinkButton className="mt-3" href="https://learn.next-intl.dev">
Get started
Expand Down
9 changes: 6 additions & 3 deletions docs/src/components/Steps.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,22 @@
counter-reset: step;
}

.root h3 {
.root h3,
.root h4 {
counter-increment: step;
@apply text-lg;
}
.root h3:before {
.root h3:before,
.root h4:before {
content: counter(step);
@apply absolute mt-[-6px] ml-[-52px] inline-block h-10 w-10 rounded-full border-4 border-white bg-slate-100 pt-[4px] text-center text-base font-bold text-slate-500;
}

:global(.dark) .root {
@apply border-slate-800;
}
:global(.dark) .root h3:before {
:global(.dark) .root h3:before,
:global(.dark) .root h4:before {
@apply bg-slate-800 text-white/75;
border-color: rgba(17, 17, 17, var(--tw-bg-opacity)); /* bg-dark */
}
4 changes: 4 additions & 0 deletions docs/src/pages/blog/_meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ export default {
index: {
title: 'Overview'
},
'nextjs-root-params': {
title: 'Using next/root-params in Next.js 16.2',
display: 'hidden'
},
'use-extracted': {
title: 'useExtracted: The Tailwind of i18n?',
display: 'hidden'
Expand Down
6 changes: 6 additions & 0 deletions docs/src/pages/blog/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import StayUpdated from '@/components/StayUpdated.mdx';
# next-intl blog

<div className="flex flex-col gap-4 py-8">
<BlogPostLink
href="/blog/nextjs-root-params"
title="Using next/root-params in Next.js 16.3"
date="Mar 18, 2026"
author="By Jan Amann"
/>
<BlogPostLink
href="/blog/precompilation"
title="Ahead-of-time compilation for next-intl"
Expand Down
Loading
Loading