This is the code for my personal blog site at https://www.monsterpi13.dev, forked from onur.dev 🍴.
I created this blog to chronicle my journey as a front-end developer. The goals are:
- Showcase what I'm learning and working on 📚
- Gain experience building a real-world project ⚒️
- Get feedback from the dev community 👥
The clean design and features of onur.dev exemplified the kind of blog I wanted to build for myself. So I decided to fork it and customize for my own use. 🤓
- Framework: Next.js
- Styling: Tailwind CSS + shadcn/ui
- Database: Supabase
- CMS: Contentful
- Deployment: Vercel ⚡️
- SEO Optimization - implements generateMetadata to boost SEO 📈
- Static Generation - generates static pages at build time for better performance ⚡️
- Draft Previews - preview unpublished posts during development 🖊️
- Caching - intelligently caches and revalidates pages 💾
- Realtime - shows realtime post view count using Supabase 🔴
And more - see the blog posts for details.
- Node.js and pnpm
# Clone the repository
git clone https://github.com/MonsterPi13/monsterpi13.dev.git
# Install dependencies
pnpm install
# Configure environment variables
# See .env.example file
# Run the dev server
pnpm run dev
- Create Contentful space
- Create Supabase project
- Add API keys to .env
- Import content model
- Populate space
- Inline entry(Which will be as inline entry inserted into the rich text, like
post
)
-
CodeBlock
- title
Short Text
- code
Long Text
- title
-
ContentEmbed
- title
Short Text
- embedUrl
Short Text
- type
Short Text
(Accept only specified values)- Video
- SoundCloud
- title
-
Tweet
- id
Short Text
(Tweet id)
- id
- logbook - for the content of the
/journey
- title
Short Text
- date
Date&Time
- description
Long Text
- image
Media
- post - for the content of the
/writing/[slug]
- title
Short Text
- description
Short Text
- slug
Short Text
- date
Date&time
- content
Rich Text
- seo
Reference
- page - for dynamic routes, like
/writing
,/stack
- title Short Text
- content Rich Text
- slug Short Text
- hasCustomPage Boolean
- seo Reference
- seo - reusable SEO, will be set as reference for other content type
- title Short Text
- description Short Text
- ogImageTitle Short Text
- ogImageSubtitle Short Text
The site can be easily deployed on Vercel, Netlify, etc:
- Connect repo
- Configure environment variables
- Trigger deploy
Contributions are welcome! Please feel free to open issues and pull requests.