theppitak.me , my portfolio site with markdown blogs built with React, NPM, and Next.js. Design with cleanliness and simplicity in mind.
- Responsive design
- Dark mode support
- Projects showcase
- Markdown Blog Post with SSR for better SEO / OpenGraph sharing with preview
Check out the live demo here.
Follow these instructions to set up and run the project on your local machine.
Ensure you have the following tools installed:
-
Clone or create your own respository from template:
git clone https://github.com/mmmmmob/www.git cd www
-
Install dependencies using NPM:
npm install
Start the development server:
npm run dev
Open your browser and visit http://localhost:3000
or the address as shown in your terminal to see your portfolio.
The Now Playing Bar at the bottom pf the page uses Spotify's Now Playing API to retrieve information about your current listening song and render the data live on your site
Refer to the .env.example
file to learn how to obtain your credential tokens from the Spotify Developer website. Use these tokens in production by creating a .env.local
file in your folder. Remember to set the actual environment variables on your deployment platform.
You can opt-out of this feature by removing the <NowPlaying/>
component from page.tsx
in /src/app
.
(special thanks for initial code reference before adjustments from @theodorusclarence blog post)
The blog system supports rendering Markdown files with front matter metadata. This allows clean formatting, SEO optimization, and easy content management.
To create a new blog post:
-
Create a Markdown file
Save your post in thesrc/posts/
directory with a.md
extension, e.g.my-first-post.md
. -
Add front matter to the top of the file
Use the following structure to define metadata for the post:--- title: "My First Blog Post" date: "2025-05-25" slug: "test-post" excerpt: "A brief description of what this post is about." image: "/path/to/image.jpg" //optional draft: false //optional ---
-
Write your content Below the front matter, write your blog content in standard Markdown.
-
Preview your post Run the development server with:
npm run dev
Then navigate to the Blogs section to see your post. Posts marked with draft: true
will not be shown in production.
- UI Library: React, Tailwind CSS, daisyUI and react-icons
- Main Framework + Bundler: Next.js
- JavaScript Runtime + Package Manager: Node.js
Contributions are welcome! Please fork this repository and submit a pull request for any feature requests, bug fixes, or improvements.
- Fork the repository
- Create your feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/YourFeature
- Open a pull request
This project is licensed under the Creative Commons license. See the LICENSE file for details.