This is a minimal portfolio website built using Eleventy, a simple static site generator. The portfolio includes sections for achievements, GitHub repositories, blog posts, and a resume.
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/udaysinh-git/minimal-portfolio.git cd minimal-portfolio
-
Install dependencies:
npm install
-
Run the development server:
npx eleventy --serve
This will start a local development server at
http://localhost:8080
.
- Home Page: Edit index.md
- Achievements: Edit achievements.md
- Resume: Edit resume.md
- Blog Posts: Add or edit markdown files in posts
- GitHub Repositories: The repositories are fetched dynamically from your GitHub account. Ensure your GitHub username is correctly set in .eleventy.
The website supports multiple themes (dark mode, light mode, pastel mode, eye-soothing mode). Users can toggle between themes using the button in the header.
A "Back to Top" button appears when the user scrolls down the page. Clicking this button will smoothly scroll the user back to the top of the page.
minimal-portfolio/
├── _site/ # Generated site output
├── src/ # Source files
│ ├── _includes/ # Layout and partial templates
│ │ ├── layout.njk # Main layout template
│ │ └── post.njk # Post layout template
│ ├── posts/ # Blog posts
│ │ ├── 2023-10-01-my-first-post.md
│ │ └── cats_vs_dogs.md
│ ├── achievements.md # Achievements page content
│ ├── blog.md # Blog page content
│ ├── github.md # GitHub repositories page content
│ ├── index.md # Home page content
│ └── resume.md # Resume page content
├── .eleventy.js # Eleventy configuration
├── package.json # Project metadata and dependencies
├── styles.css # Global styles
└── README.md # Project documentation
To customize the styles, edit styles.css
- CSS includes variables for different themes and media queries for responsiveness.
To customize the layouts, edit the templates in _includes
To add a new page, create a new markdown file in the src directory and use the appropriate layout.
---
layout: layout.njk
title: New Page
---
# New Page
Content goes here.
To deploy the site, you can use any static site hosting service, such as GitHub Pages, Netlify, or Vercel.
-
Build the site:
npx eleventy
-
Push the _site directory to the
gh-pages
branch:git subtree push --prefix _site origin gh-pages
- Connect your repository to Netlify.
- Set the build command to
npx eleventy
. - Set the publish directory to _site
- Connect your repository to Vercel.
- Set the build command to
npx eleventy
. - Set the output directory to _site
This project is licensed under the MIT License. See the LICENSE ile for details.