feat: add release notes page with MDX content system
Implemented comprehensive release notes feature with: - MDX-based content system for easy release note authoring - Thematic sidebar navigation (Foundation, Features, Infrastructure) - Auto-generated pages from MDX frontmatter - Overview page with status filtering (completed/in_progress/planned) - Detail pages with custom MDX components - Mobile-responsive navigation (horizontal scroll tabs) - Integration with timeline (link to detailed release notes) - Added "Releases" link to header navigation Technical implementation: - next-mdx-remote for MDX parsing and rendering - gray-matter for frontmatter extraction - Custom MDX components for images, code blocks, typography - Static site generation (SSG) for performance - Template system for consistent release note structure Files added: - app/(marketing)/releases/ - Route structure and components - content/nl/releases/ - MDX content files and index - lib/mdx/releases.ts - MDX utility functions - docs/specs/releasepage/ - Build plan documentation - docs/templates/release-note-template.mdx - Content template First release note: authentication.mdx (login, signup, password reset) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
34
app/(marketing)/releases/layout.tsx
Normal file
34
app/(marketing)/releases/layout.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* Releases Layout
|
||||
*
|
||||
* Layout for release notes pages with sidebar navigation
|
||||
*/
|
||||
|
||||
import type { ReactNode } from 'react'
|
||||
import { getAllReleases, getCategoryMetadata } from '@/lib/mdx/releases'
|
||||
import { ReleaseSidebar } from './components/release-sidebar'
|
||||
|
||||
interface ReleasesLayoutProps {
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export default async function ReleasesLayout({ children }: ReleasesLayoutProps) {
|
||||
const releases = await getAllReleases()
|
||||
const metadata = await getCategoryMetadata()
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-slate-50">
|
||||
<div className="max-w-[1400px] mx-auto">
|
||||
<div className="flex">
|
||||
{/* Sidebar - hidden on mobile, fixed on desktop */}
|
||||
<ReleaseSidebar releases={releases} metadata={metadata} />
|
||||
|
||||
{/* Main Content */}
|
||||
<div className="flex-1 lg:ml-64">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user