My Portfolio/Blog built using React.js, Next.js, Tailwind CSS, Typescript.
Project directories are structured as follows:
root
βββ /public
βββ /fonts
βββ /static
βββ /favicons
βββ /images
βββ /blogs
βββ /projects
βββ robots.txt
βββ /scripts
βββ /src
βββ /components
βββ /hooks
βββ /layouts
βββ /pages
βββ /styles
βββ /utils
βββ types.ts
βββ /data
βββ /blog
βββ projects.js
package.json
tsconfig.json
next.config.js
postcss.config.js
tailwind.config.js
README.md
- Clone this reposiroty
git clone https://github.com/MiadV/miadv.dev.git
- Navigate to project folder and install the dependencies.
npm install
npm run dev
- Create a
.env.local
file similar to.env.example
.
Open http:https://localhost:3000 in your browser to see the result.
Bootstrap new blog frontmatter the template provided.
New blog should be inside /data/blog
directory.
---
draft: false // if set to true it won't be accessible on website.
title: 'I am a new article'
publishedAt: '2022-01-01'
modifiedAt: '2022-01-01'
summary: "I'm the summary of the article."
image: '/static/images/blogs/new-article/banner.png' // optional
tags: ['tag-1', 'tag-2] // or empty array []
---
- File name will be used as post slug i.e.
new-article.mdx
. - If you are using apostrophe ('), the sentence should be wrapped by double quotes (" ").
- Each post can have an optional banner located at
/public/static/images/blogs/{post-slug}/banner.png
.
New projects should be defined inside /data/projects.js
file.
module.exports = [
{...Other Projects},
{
id: 1, // remember to update the id
title: 'Title ...',
tags: ['reactjs', 'nextjs', 'typescript'],
thumbnail: '/static/images/projects/...',
github: 'https://github.com/MiadV/...', // optional
youtube: 'https://youtu.be/...', // optional
live: 'https://test.com', // optional
},
];
Please review the license and remove all client information (logo, address, images, branding content, etc.).