A professional portfolio website built with Jekyll, featuring a Linux Terminal interface design. This portfolio showcases DevOps/SRE expertise and is optimized for GitHub Pages deployment.
- 🖥️ Linux Terminal Interface: Authentic terminal-style design with interactive commands
- 📱 Responsive Design: Mobile-friendly layout that works on all devices
- ⚡ Fast Loading: Optimized for performance with Jekyll static site generation
- 🔍 SEO Optimized: Proper meta tags and structured data
- 🎨 Modern Styling: Clean, professional appearance with terminal aesthetics
- 🤖 Interactive Terminal: Real terminal commands for exploring the portfolio
- Jekyll 4.3.2: Static site generator
- GitHub Pages: Hosting and deployment
- Liquid Templating: Dynamic content generation
- YAML Data Files: Structured content management
- CSS3: Modern styling with flexbox and grid
- JavaScript ES6: Interactive terminal functionality
-
Install Dependencies
# Install Ruby and Bundler first bundle install
-
Run Development Server
bundle exec jekyll serve
-
View the Site Open
http://localhost:4000
in your browser
This repository includes a GitHub Actions workflow that automatically deploys the Jekyll site to GitHub Pages when merging to the gh-pages
branch.
- Fork/Clone this repository
- Enable GitHub Pages in repository settings:
- Go to Settings → Pages
- Source: GitHub Actions (recommended)
- Update
_config.yml
with your GitHub Pages URL - Development workflow:
# Develop on main branch git add . git commit -m "Update portfolio content" git push origin main # Deploy when ready git checkout gh-pages git merge main git push origin gh-pages # This triggers deployment
If you prefer manual deployment:
- Go to Settings → Pages
- Source: Deploy from a branch
- Branch: main / (root)
Edit _config.yml
to customize:
title: "Your Name - Your Title"
description: "Your professional description"
url: "https://yourusername.github.io"
baseurl: ""
All profile information is stored in _data/profile.yml
:
- Personal Information: Name, title, contact details
- Skills: Technical skills organized by category
- Experience: Professional work history
- Achievements: Certifications and accomplishments
- Projects: Notable projects and contributions
- Social Links: Professional social media profiles
- Update Profile Data: Edit
_data/profile.yml
with your information - Customize Styling: Modify
style.css
for visual changes - Add Features: Extend
script.js
for additional terminal commands - Update Resume: Replace the resume file referenced in the profile data
├── _config.yml # Jekyll configuration
├── _data/
│ └── profile.yml # Profile data
├── _includes/
│ ├── achievements.html # Achievements section
│ ├── experience.html # Experience section
│ └── terminal.html # Main terminal interface
├── _layouts/
│ └── default.html # Main layout template
├── _site/ # Generated site (ignored)
├── index.html # Homepage
├── script.js # Interactive terminal
├── style.css # Styling
├── Gemfile # Ruby dependencies
└── README.md # This file
The interactive terminal supports these commands:
help
- Show available commandsabout
- Display profile informationskills
- Show technical skillsexperience
- Display work experienceachievements
- Show achievements & certificationsprojects
- Show project portfoliocontact
- Get contact informationsocial
- Show social media linksresume
- Download resumehire
- Why you should hire meclear
- Clear terminal screenwhoami
- Display current userpwd
- Print working directoryls
- List directory contentsdate
- Show current date and timeuptime
- Show system uptimeneofetch
- Display system informationcat [file]
- Display file contentsecho [text]
- Display text
This repository uses GitHub Actions for automated deployment to GitHub Pages. The workflow is triggered automatically on every push to the gh-pages
branch.
- Manual Control: Deploys only when merging to
gh-pages
branch - Clean Main Branch: No automatic commits to main development branch
- Ruby 3.1 Setup: Uses Ruby 3.1 with bundler cache for faster builds
- Jekyll Build: Builds the site with production environment
- Pages Deploy: Uses official GitHub Pages actions for deployment
- Proper Permissions: Configured with necessary permissions for Pages deployment
-
Repository Settings:
- Go to Settings → Pages
- Source: GitHub Actions (recommended for this setup)
- The workflow will handle the rest automatically
-
Custom Domain (optional):
- Add CNAME file with your domain
- Configure DNS settings
- Update
_config.yml
with your custom domain URL
-
SSL/HTTPS:
- Automatically enabled for github.io domains
- Configure SSL for custom domains
The deployment workflow is located at .github/workflows/deploy.yml
and includes:
- Checkout code
- Setup Ruby environment with bundler cache
- Configure GitHub Pages
- Build Jekyll site with production settings
- Deploy to GitHub Pages automatically
- Lazy Loading: Animations load when elements come into view
- Minified Assets: CSS and JS are optimized for production
- Image Optimization: Properly sized and compressed images
- Caching: Browser caching headers for static assets
- Chrome/Chromium (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is open source and available under the MIT License.
- Email: [email protected]
- Phone: (084) 975-669-775
- LinkedIn: linkedin.com/in/googlesky
- GitHub: github.com/googlesky
Built with ❤️ using Jekyll and GitHub Pages