A fully dynamic Next.js website template that allows you to customize all content and themes through simple JSON files. Perfect for agencies, freelancers, or businesses looking to quickly deploy customized websites for clients.
- 🔄 Fully Dynamic Content: All website content is loaded from JSON files
- 🎨 Theming System: Change colors, fonts, and styling through theme presets
- 📱 Responsive Design: Works on all devices from mobile to desktop
- 🚀 Fast Performance: Built with Next.js for optimal loading speed
- ✨ Modern UI: Sleek animations and modern design elements
- 🧩 Modular Components: Easy to extend with additional sections
- Node.js 14.x or later
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd Infinity_pixel- Install dependencies:
npm install
# or
yarn install- Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser to see the result.
All website content is stored in JSON files located in the public/content directory:
home.json: Main content for all website sectionstheme.json: Theme configuration including colors, fonts, etc.seo.json: SEO-related content like meta descriptions
To customize the website content, simply edit the JSON files:
- Open
public/content/home.json - Locate the
herosection - Modify the values:
"hero": {
"eyebrow": "Your custom eyebrow text",
"title": "Your custom title",
"description": "Your custom description text",
"backgroundImage": "/images/your-image.jpg",
"backgroundVideo": "/videos/your-video.mp4",
"statLabel": "Your stat label",
"statBody": "Your stat description",
"statImage": "/images/your-image.jpg",
"statStack": ["/images/image1.jpg", "/images/image2.jpg"],
"ctaLabel": "Your button text",
"ctaHref": "#your-section"
}- Open
public/content/theme.json - Modify the main theme values:
{
"colors": {
"primary": "#your-color-code",
"secondary": "#your-color-code",
"background": "#your-color-code",
"foreground": "#your-color-code"
},
"fonts": {
"body": "Your Font, system-ui, sans-serif",
"heading": "Your Font, system-ui, sans-serif"
}
}The template comes with multiple theme presets that can be switched in real-time:
"presets": {
"light": {
"colors": {
"primary": "#6b5bff",
"background": "#ffffff",
"foreground": "#111111"
}
},
"dark": {
"colors": {
"primary": "#8b7dff",
"background": "#111111",
"foreground": "#ffffff"
}
}
}You can add your own presets by adding new entries to the presets object.
-
Add your media files to the appropriate folders in the
publicdirectory:/public/images/for images/public/videos/for videos
-
Reference them in the JSON files using relative paths, e.g.,
/images/your-image.jpg
pages/: Next.js pagessrc/components/ui/: UI components for different sectionssrc/components/ThemeProvider.tsx: Theme managementsrc/lib/: Helper functions and type definitionssrc/styles/: Global stylespublic/content/: JSON content filespublic/images/: Image assetspublic/videos/: Video assets
- Create a new component in
src/components/ui/ - Add corresponding content structure to
src/lib/content.ts - Add the content data to
public/content/home.json - Import and use the component in
pages/index.tsx
- Add a new preset in
public/content/theme.json:
"presets": {
"your-preset-name": {
"colors": {
"primary": "#your-color",
"secondary": "#your-color",
"background": "#your-color",
"foreground": "#your-color"
},
"fonts": {
"body": "Your Font, sans-serif",
"heading": "Your Font, sans-serif"
}
}
}- The preset will automatically appear in the theme switcher
- Use descriptive content in the JSON files for better maintainability
- Keep image file sizes optimized for better performance
- For larger images, consider using Next.js Image component's optimization
- Test your site on different devices to ensure responsiveness
[Include your license information here]