{"id":18777024,"url":"https://github.com/huntsyea/nextjs-directory-boilerplate","last_synced_at":"2026-04-11T09:47:19.042Z","repository":{"id":261518296,"uuid":"884544522","full_name":"huntsyea/nextjs-directory-boilerplate","owner":"huntsyea","description":"Production-ready Next.js 15 boilerplate for content-driven websites with MDX, shadcn/ui, and TypeScript.","archived":false,"fork":false,"pushed_at":"2026-03-14T20:04:55.000Z","size":694,"stargazers_count":14,"open_issues_count":6,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-11T09:47:16.757Z","etag":null,"topics":["blog","directory","mdx","nextj","shadcn-ui"],"latest_commit_sha":null,"homepage":"https://nextjs-directory-boilerplate.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/huntsyea.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-07T00:14:03.000Z","updated_at":"2026-03-14T20:05:00.000Z","dependencies_parsed_at":"2026-02-07T00:00:55.657Z","dependency_job_id":null,"html_url":"https://github.com/huntsyea/nextjs-directory-boilerplate","commit_stats":null,"previous_names":["huntsyea/nextjs-directory-boilerplate","rohanpatriot/nextjs-directory-boilerplate","rohanpatriot/nextjs-boilerplate-directory-blog"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/huntsyea/nextjs-directory-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huntsyea%2Fnextjs-directory-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huntsyea%2Fnextjs-directory-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huntsyea%2Fnextjs-directory-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huntsyea%2Fnextjs-directory-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huntsyea","download_url":"https://codeload.github.com/huntsyea/nextjs-directory-boilerplate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huntsyea%2Fnextjs-directory-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31676210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","directory","mdx","nextj","shadcn-ui"],"created_at":"2024-11-07T20:08:14.124Z","updated_at":"2026-04-11T09:47:19.034Z","avatar_url":"https://github.com/huntsyea.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Directory/Blog Boilerplate\n\n\u003cdiv align=\"center\"\u003e\n\n[![Next.js](https://img.shields.io/badge/Next.js-15-black?style=for-the-badge\u0026logo=next.js\u0026logoColor=white)](https://nextjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](LICENSE)\n[![GitHub Stars](https://img.shields.io/github/stars/rohanpatriot/nextjs-directory-boilerplate?style=for-the-badge\u0026logo=github)](https://github.com/rohanpatriot/nextjs-directory-boilerplate/stargazers)\n[![Deploy with Vercel](https://img.shields.io/badge/Deploy-Vercel-black?style=for-the-badge\u0026logo=vercel)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Frohanpatriot%2Fnextjs-directory-boilerplate)\n\n\u003c/div\u003e\n\nA 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.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Frohanpatriot%2Fnextjs-directory-boilerplate\u0026project-name=nextjs-directory-boilerplate\u0026repository-name=nextjs-directory-boilerplate\u0026skippable-integrations=1)\n\n---\n\n## ✨ Key Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🚀 **Modern Stack**\nBuilt on **Next.js 15** with React 19, TypeScript, and the latest web technologies for blazing-fast performance\n\n### 📝 **MDX-Powered Content**\nWrite content in Markdown with full JSX support - embed interactive components directly in your content\n\n### 🎨 **Beautiful by Default**\nGorgeous UI built with **shadcn/ui** and Tailwind CSS - customizable, accessible, and production-ready\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### ⚡ **Lightning Fast**\nStatic site generation ensures optimal performance with instant page loads and perfect Lighthouse scores\n\n### 🔍 **Search \u0026 Discovery**\nBuilt-in content search, tag filtering, and smart categorization help users find what they need\n\n### 🌙 **Dark Mode Included**\nAutomatic dark mode with system preference detection and manual toggle - no extra configuration needed\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### 🎯 **What Makes This Special?**\n\n- **📱 Mobile-First \u0026 Responsive** - Looks stunning on every device from phone to desktop\n- **🗺️ SEO Powerhouse** - Auto-generated sitemap, RSS feed, and JSON-LD structured data out of the box\n- **🖼️ Smart Image Handling** - Automatic image optimization powered by Next.js\n- **🎵 Multimedia Ready** - Optional audio player for podcasts, tutorials, and educational content\n- **🏷️ Flexible Tag System** - Organize content with tags and categories for easy navigation\n- **🔧 Config-Driven Setup** - Customize everything through simple configuration files\n- **📖 Multi-Content Support** - Handle different content types (articles, guides, etc.) with ease\n- **🚀 One-Click Deploy** - Deploy to Vercel in seconds with zero configuration\n\n---\n\n## 🛠️ Tech Stack\n\n- **Framework**: [Next.js 15](https://nextjs.org/) with React 19\n- **Package Manager**: [pnpm](https://pnpm.io/) 9.x\n- **Styling**: [Tailwind CSS](https://tailwindcss.com/)\n- **UI Components**: [shadcn/ui](https://ui.shadcn.com/)\n- **Content**: [MDX](https://mdxjs.com/)\n- **Theming**: [next-themes](https://github.com/pacocoursey/next-themes)\n- **Typography**: [next/font/google](https://nextjs.org/docs/pages/building-your-application/optimizing/fonts) (Cormorant Garamond \u0026 Nunito)\n\n## 🚀 Quick Start\n\n```bash\n# Clone the repository\ngit clone https://github.com/rohanpatriot/nextjs-directory-boilerplate\ncd nextjs-directory-boilerplate\n\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) to see your site.\n\n## 📁 Project Structure\n\n```\n├── content/                  # MDX content files\n│   ├── articles/            # Blog articles\n│   └── guides/              # How-to guides and tutorials\n│   └── [custom]/            # Add your own content types\n├── src/\n│   ├── app/                 # Next.js App Router\n│   │   ├── [contentType]/   # Dynamic content routes\n│   │   │   └── [slug]/      # Content detail pages\n│   │   ├── tags/            # Tag pages\n│   │   │   └── [tag]/       # Tag-filtered content\n│   │   ├── feed.xml/        # RSS feed\n│   │   ├── sitemap.ts       # Dynamic sitemap\n│   │   └── robots.ts        # Robots.txt\n│   ├── components/          # React components\n│   │   ├── layout/          # Layout components\n│   │   │   ├── ContentCard.tsx\n│   │   │   └── ContentGrid.tsx\n│   │   ├── Search/          # Search components\n│   │   └── ui/              # shadcn/ui components\n│   ├── config/              # Configuration\n│   │   ├── content.config.ts    # Content type definitions\n│   │   └── directory.config.ts  # Site settings\n│   ├── lib/\n│   │   ├── content/         # Content system\n│   │   │   ├── loader.ts    # Content loader\n│   │   │   ├── types.ts     # TypeScript types\n│   │   │   └── index.ts     # Exports\n│   │   ├── metadata.ts      # SEO metadata\n│   │   ├── structured-data.tsx  # JSON-LD schemas\n│   │   └── utils.ts         # Utility functions\n│   └── types/               # TypeScript type definitions\n│       └── content.ts       # Content interfaces\n```\n\n## ✍️ Content\n\nAdd MDX files to `content/articles/` or `content/guides/`:\n\n```mdx\n---\ntitle: 'My Post Title'\nsummary: 'Brief description'\ndate: '2024-01-15'\nauthor: 'Your Name'\ntags: ['tag1', 'tag2']\nimage: '/images/post-image.jpg'\n---\n\nYour content here...\n```\n\nSee [Content System docs](docs/content-system.md) for all frontmatter fields and adding custom content types.\n\n## ⚙️ Configuration\n\n**Site settings** in `src/config/directory.config.ts`:\n```typescript\nexport const directoryConfig = {\n  name: 'Your Site Name',\n  description: 'Your site description',\n  // ...\n}\n```\n\n**Content types** in `src/config/content.config.ts`:\n```typescript\nexport const contentConfig = {\n  types: {\n    articles: { /* config */ },\n    guides: { /* config */ },\n    // Add your own types\n  }\n}\n```\n\nSee [Configuration docs](docs/configuration.md) for full reference.\n\n## 📚 Documentation\n\nComprehensive documentation is available online and in the repository:\n\n- 📖 **[View Documentation](https://rohanpatriot.github.io/nextjs-directory-boilerplate/docs/)** - Online docs via GitHub Pages\n- 📁 **[docs/](docs/)** - Local documentation folder\n\n### Quick Links\n\n- [Getting Started](docs/getting-started.md) - Installation and first steps\n- [Content System](docs/content-system.md) - Adding and managing content\n- [Configuration](docs/configuration.md) - Site and content config reference\n- [SEO](docs/seo.md) - Sitemap, RSS, metadata, and structured data\n- [Dark Mode](docs/dark-mode.md) - Theming and customization\n- [Components](docs/components.md) - Available UI components\n- [Deployment](docs/deployment.md) - Deploying to Vercel and other platforms\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📄 License\n\nThis project is released under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuntsyea%2Fnextjs-directory-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuntsyea%2Fnextjs-directory-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuntsyea%2Fnextjs-directory-boilerplate/lists"}