A modern, responsive portfolio website built with Jekyll and optimized for GitHub Pages. Features a dark theme with animated gradients, project showcases, and mobile-first design.
- Ruby 2.7+ and Bundler
- Git for version control
- GitHub account for hosting
-
Clone the repository
git clone https://github.com/yourusername/new-website.git cd new-website -
Install dependencies
bundle install
-
Serve the site locally
bundle exec jekyll serve -
View the site Open
http://localhost:4000in your browser
-
Update configuration
- Edit
_config.ymland change theurlfield to your GitHub Pages URL - Update author information and social links
- Edit
-
Push to GitHub
git add . git commit -m "Initial portfolio setup" git push origin main
-
Enable GitHub Pages
- Go to your repository settings
- Navigate to "Pages" section
- Select "Deploy from a branch"
- Choose "main" branch and "/ (root)" folder
- Save the settings
-
Wait for deployment
- GitHub will automatically build and deploy your site
- Check the "Actions" tab for build status
- Your site will be available at
https://yourusername.github.io/repository-name
βββ _config.yml # Jekyll configuration
βββ _layouts/ # Page templates
β βββ default.html # Base layout with header/footer
β βββ project.html # Individual project pages
βββ _includes/ # Reusable components
β βββ header.html # Navigation header
β βββ footer.html # Footer with social links
β βββ scripts.html # JavaScript functionality
βββ _sass/ # SCSS partial files
β βββ _variables.scss # Color and sizing variables
β βββ _base.scss # Base styles and typography
β βββ _components.scss # Component-specific styles
β βββ _utilities.scss # Utility classes and media queries
β βββ _responsive.scss # Responsive design adjustments
βββ assets/css/ # Compiled CSS
β βββ main.scss # Main SCSS file (imports partials)
βββ _projects/ # Project collection (Markdown files)
β βββ llms-clinical-trials.md
β βββ supply-chain-optimization.md
β βββ table-tennis-analytics.md
β βββ portfolio-website.md
βββ index.html # Homepage
βββ projects.html # Projects listing page
βββ Gemfile # Ruby dependencies
βββ README.md # This file
-
Create a new Markdown file in
_projects/directory:--- title: "Your Project Title" description: "Brief description of your project" image: "path/to/project-image.jpg" technologies: - "Technology 1" - "Technology 2" links: - text: "Live Demo" url: "https://your-demo.com" - text: "GitHub" url: "https://github.com/username/repo" date: 2024-01-01 featured: true --- # Your project content here...
-
The project will automatically appear on the projects page and homepage (if
featured: true)
Edit _config.yml to update:
- Site title and description
- Author information
- Email address
- Social media links
The site uses SCSS for styling with the following structure:
_sass/_variables.scss- Colors, fonts, spacing, and other variables_sass/_base.scss- Base styles, typography, and fundamental elements_sass/_components.scss- Component-specific styles (project cards, buttons, etc.)_sass/_utilities.scss- Utility classes and helper styles_sass/_responsive.scss- Media queries and responsive adjustmentsassets/css/main.scss- Main file that imports all partials
Edit _sass/_variables.scss to change the color scheme:
$primary-bg: #0A0A0A; // Main background color
$primary-text: #E2E8F0; // Primary text color
$indigo-600: rgb(79, 70, 229); // Brand color- Component styles β
_sass/_components.scss - Utility classes β
_sass/_utilities.scss - Responsive styles β
_sass/_responsive.scss
- Primary: Indigo (rgb(79, 70, 229))
- Background: Black (#0A0A0A)
- Text: Slate colors for hierarchy
- Accent: Various gradients and transparency effects
# Required updates
title: "Your Name | Portfolio"
email: your.email@domain.com
url: "https://yourusername.github.io"
# Author information
author:
name: "Your Name"
github: "your-github-username"
linkedin: "your-linkedin-username"
twitter: "your-twitter-username"Ensure these plugins are enabled in _config.yml:
plugins:
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tagThe SCSS compilation is configured in _config.yml:
sass:
style: compressed
sass_dir: _sass- Responsive Design: Mobile-first approach with Tailwind CSS
- Animated Background: Scroll-based gradient animations
- Project Showcase: Dynamic project cards with technology tags
- SEO Optimized: Meta tags, structured data, and semantic HTML
- Fast Loading: Optimized images and minimal dependencies
- Accessible: WCAG compliant with keyboard navigation support
- Modular CSS: SCSS with organized partials for maintainability
- Quick color changes: Edit variables in
_sass/_variables.scss - Component updates: Modify
_sass/_components.scss - New utility classes: Add to
_sass/_utilities.scss - Responsive adjustments: Update
_sass/_responsive.scss
To add a blog section:
- Create
_posts/directory - Add post files:
YYYY-MM-DD-post-title.md - Create a blog layout and listing page
- Update navigation to include blog link
bundle update# Development server with live reload
bundle exec jekyll serve --livereload
# Build for production
bundle exec jekyll build-
Build Failures
- Check Ruby version compatibility
- Verify all required gems are installed
- Review GitHub Actions logs for specific errors
-
SCSS Compilation Issues
- Check syntax in SCSS files
- Ensure proper variable definitions in
_variables.scss - Verify import statements in
main.scss
-
Missing Images
- Ensure image paths are correct in project frontmatter
- Use relative URLs for local images
- Consider using placeholder services for development
-
Styling Issues
- Check browser developer tools for CSS conflicts
- Verify SCSS compilation is working
- Ensure Tailwind CSS is loading properly
- Custom plugins are not supported (stick to GitHub-approved plugins)
- Build time limit of 10 minutes
- Repository size limit of 1GB
- Bandwidth limit of 100GB per month
This project is open source and available under the MIT License.
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally
- Submit a pull request
If you encounter any issues or have questions:
- Check the Jekyll documentation
- Review GitHub Pages documentation
- Check SCSS documentation for styling help
- Open an issue in this repository
Built with β€οΈ using Jekyll, Tailwind CSS, SCSS, and GitHub Pages.