https://github.com/huntsyea/nextjs-directory-boilerplate
Production-ready Next.js 15 boilerplate for content-driven websites with MDX, shadcn/ui, and TypeScript.
https://github.com/huntsyea/nextjs-directory-boilerplate
blog directory mdx nextj shadcn-ui
Last synced: 4 months ago
JSON representation
Production-ready Next.js 15 boilerplate for content-driven websites with MDX, shadcn/ui, and TypeScript.
- Host: GitHub
- URL: https://github.com/huntsyea/nextjs-directory-boilerplate
- Owner: huntsyea
- License: mit
- Created: 2024-11-07T00:14:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-14T20:04:55.000Z (5 months ago)
- Last Synced: 2026-04-11T09:47:16.757Z (4 months ago)
- Topics: blog, directory, mdx, nextj, shadcn-ui
- Language: TypeScript
- Homepage: https://nextjs-directory-boilerplate.vercel.app
- Size: 678 KB
- Stars: 14
- Watchers: 1
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Next.js Directory/Blog Boilerplate
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](LICENSE)
[](https://github.com/rohanpatriot/nextjs-directory-boilerplate/stargazers)
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Frohanpatriot%2Fnextjs-directory-boilerplate)
A modern, customizable directory/blog template built with Next.js 15, MDX, and shadcn/ui. Perfect for creating content-driven websites, directories, portfolios, blogs, or educational content collections.
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Frohanpatriot%2Fnextjs-directory-boilerplate&project-name=nextjs-directory-boilerplate&repository-name=nextjs-directory-boilerplate&skippable-integrations=1)
---
## β¨ Key Features
### π **Modern Stack**
Built on **Next.js 15** with React 19, TypeScript, and the latest web technologies for blazing-fast performance
### π **MDX-Powered Content**
Write content in Markdown with full JSX support - embed interactive components directly in your content
### π¨ **Beautiful by Default**
Gorgeous UI built with **shadcn/ui** and Tailwind CSS - customizable, accessible, and production-ready
### β‘ **Lightning Fast**
Static site generation ensures optimal performance with instant page loads and perfect Lighthouse scores
### π **Search & Discovery**
Built-in content search, tag filtering, and smart categorization help users find what they need
### π **Dark Mode Included**
Automatic dark mode with system preference detection and manual toggle - no extra configuration needed
### π― **What Makes This Special?**
- **π± Mobile-First & Responsive** - Looks stunning on every device from phone to desktop
- **πΊοΈ SEO Powerhouse** - Auto-generated sitemap, RSS feed, and JSON-LD structured data out of the box
- **πΌοΈ Smart Image Handling** - Automatic image optimization powered by Next.js
- **π΅ Multimedia Ready** - Optional audio player for podcasts, tutorials, and educational content
- **π·οΈ Flexible Tag System** - Organize content with tags and categories for easy navigation
- **π§ Config-Driven Setup** - Customize everything through simple configuration files
- **π Multi-Content Support** - Handle different content types (articles, guides, etc.) with ease
- **π One-Click Deploy** - Deploy to Vercel in seconds with zero configuration
---
## π οΈ Tech Stack
- **Framework**: [Next.js 15](https://nextjs.org/) with React 19
- **Package Manager**: [pnpm](https://pnpm.io/) 9.x
- **Styling**: [Tailwind CSS](https://tailwindcss.com/)
- **UI Components**: [shadcn/ui](https://ui.shadcn.com/)
- **Content**: [MDX](https://mdxjs.com/)
- **Theming**: [next-themes](https://github.com/pacocoursey/next-themes)
- **Typography**: [next/font/google](https://nextjs.org/docs/pages/building-your-application/optimizing/fonts) (Cormorant Garamond & Nunito)
## π Quick Start
```bash
# Clone the repository
git clone https://github.com/rohanpatriot/nextjs-directory-boilerplate
cd nextjs-directory-boilerplate
# Install dependencies
pnpm install
# Start development server
pnpm dev
```
Open [http://localhost:3000](http://localhost:3000) to see your site.
## π Project Structure
```
βββ content/ # MDX content files
β βββ articles/ # Blog articles
β βββ guides/ # How-to guides and tutorials
β βββ [custom]/ # Add your own content types
βββ src/
β βββ app/ # Next.js App Router
β β βββ [contentType]/ # Dynamic content routes
β β β βββ [slug]/ # Content detail pages
β β βββ tags/ # Tag pages
β β β βββ [tag]/ # Tag-filtered content
β β βββ feed.xml/ # RSS feed
β β βββ sitemap.ts # Dynamic sitemap
β β βββ robots.ts # Robots.txt
β βββ components/ # React components
β β βββ layout/ # Layout components
β β β βββ ContentCard.tsx
β β β βββ ContentGrid.tsx
β β βββ Search/ # Search components
β β βββ ui/ # shadcn/ui components
β βββ config/ # Configuration
β β βββ content.config.ts # Content type definitions
β β βββ directory.config.ts # Site settings
β βββ lib/
β β βββ content/ # Content system
β β β βββ loader.ts # Content loader
β β β βββ types.ts # TypeScript types
β β β βββ index.ts # Exports
β β βββ metadata.ts # SEO metadata
β β βββ structured-data.tsx # JSON-LD schemas
β β βββ utils.ts # Utility functions
β βββ types/ # TypeScript type definitions
β βββ content.ts # Content interfaces
```
## βοΈ Content
Add MDX files to `content/articles/` or `content/guides/`:
```mdx
---
title: 'My Post Title'
summary: 'Brief description'
date: '2024-01-15'
author: 'Your Name'
tags: ['tag1', 'tag2']
image: '/images/post-image.jpg'
---
Your content here...
```
See [Content System docs](docs/content-system.md) for all frontmatter fields and adding custom content types.
## βοΈ Configuration
**Site settings** in `src/config/directory.config.ts`:
```typescript
export const directoryConfig = {
name: 'Your Site Name',
description: 'Your site description',
// ...
}
```
**Content types** in `src/config/content.config.ts`:
```typescript
export const contentConfig = {
types: {
articles: { /* config */ },
guides: { /* config */ },
// Add your own types
}
}
```
See [Configuration docs](docs/configuration.md) for full reference.
## π Documentation
Comprehensive documentation is available online and in the repository:
- π **[View Documentation](https://rohanpatriot.github.io/nextjs-directory-boilerplate/docs/)** - Online docs via GitHub Pages
- π **[docs/](docs/)** - Local documentation folder
### Quick Links
- [Getting Started](docs/getting-started.md) - Installation and first steps
- [Content System](docs/content-system.md) - Adding and managing content
- [Configuration](docs/configuration.md) - Site and content config reference
- [SEO](docs/seo.md) - Sitemap, RSS, metadata, and structured data
- [Dark Mode](docs/dark-mode.md) - Theming and customization
- [Components](docs/components.md) - Available UI components
- [Deployment](docs/deployment.md) - Deploying to Vercel and other platforms
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## π License
This project is released under the [MIT License](LICENSE).