A modern, theme-aware personal website built with Next.js featuring blogs, reading lists, favourite youtube channels, newsletters, and more.
- 📦 Built with Next.js
- 🌓 Light/Dark/Auto theme switching
- 📱 Responsive design with mobile-first approach
- ⌨️ Keyboard accessibility for desktop users
- 🔄 Dynamic content with Sanity CMS
- 📰 Substack integration for newsletter section
- 🔍 SEO-optimized with Open Graph meta tags
- 📊 Analytics with Vercel and Google Analytics
- 🖼️ Image optimization
- Next.js
- Sanity CMS
- Vercel
- Git
- Node Version Manager (nvm)
- Node.js 20.17.0
- npm 10.8.2
- Setup Sanity CMS Follow This Guide
- Clone This Repository
git clone https://github.com/Nisarg1112/studio-nisarg-digital-diary.git
- Follow the instructions in the README.md file of the cloned repository to set up the Sanity CMS.
# Clone the repository
git clone https://github.com/Nisarg1112/nisarg-trivedi-digital-diary.git
# Navigate to project directory
cd nisarg-trivedi-digital-diary
# Install Node.js using nvm
nvm install 20.17.0
# Verify npm version
npm -v # Should show 10.8.2
npm install --legacy-peer-deps
- I've already added all the required environment variables in the
.env.sample
file. - Or else Create a
.env
file in the root directory and add the following environment variables:
NEXT_PUBLIC_DOMAIN = "your-public-domain" // For SEO purposes
NEXT_PUBLIC_GTAG_MEASUREMENT_ID = "your-gtag-measurement-id" // For google analytics not needed necessarily
NEXT_PUBLIC_PERSONAL_EMAIL = "your-personal-email"
NEXT_PUBLIC_CALENDER_LINK = "your-calender-link" // (https://cal.com/)
NEXT_PUBLIC_SANITY_PROJECT_ID = "your-sanity-project-id" // (https://www.sanity.io/)
NODE_ENV = "development"
npm run dev
After successful installation, Sanity Studio will be available at http://localhost:3000
- Fork this repository to your GitHub account
- Go to vercel.com/new
- Import your forked repository
- Vercel will automatically detect Next.js and configure the build settings
- Add required environment variables from
.env.sample
- Click "Deploy".
Your site will be live at a .vercel.app
domain within minutes.
- Go to your project on Vercel dashboard
- Navigate to "Settings" → "Domains"
- Add your domain name
- Vercel will provide you with name servers (usually 4)
- Go to your domain registrar's dashboard
- Replace existing name servers with Vercel's name servers
- Wait for DNS propagation (can take up to 48 hours)
Vercel's name servers typically look like:
ns1.vercel-dns.com
ns2.vercel-dns.com
- Go to your project on Vercel dashboard
- Navigate to "Settings" → "Domains"
- Add your domain name
- Keep your existing name servers
- Add these DNS records at your domain registrar:
- A Record: Point @ to 76.76.21.21
- CNAME Record: Point www to cname.vercel-dns.com
Both methods will:
- Automatically configure SSL certificates
- Enable automatic domain security
- Provide DDoS protection
- Enable Vercel's global CDN
You can verify the setup by checking the domain status in your Vercel dashboard.
Need help? Feel free to reach out:
- LinkedIn: Nisarg Trivedi
- Email: nisargtrivedi054@gmail.com
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch
- Submit a Pull Request
- pen issues for bugs or feature requests
This project is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
This means you are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material
Under the following terms:
- Attribution — You must give appropriate credit to Nisarg Trivedi, provide a link to the original repository (https://github.com/Nisarg1112/nisarg-trivedi-digital-diary), and indicate if changes were made.
- NonCommercial — You may not use the material (especially theme and styling) for commercial purposes.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
- For full license details, see Creative Commons License.
- For the customized license, refer to license.md.
- For the complete text of the license, view LICENSE.