A terminal-style portfolio website built entirely using HTML, CSS, and vanilla JavaScript. Inspired by Unix shells and Bash prompts, this site simulates a fully interactive CLI interface where visitors can run commands to learn more about me โ like whoami
, projects
, socials
, email
, and more. Experience the nostalgia of command-line interfaces with modern web development.
Important
The Terminal Portfolio (Bashfolio) simulates a real Unix terminal experience with authentic command-line interface, interactive commands, realistic typing animations, and multiple color themes. It showcases modern web development techniques while providing a unique, retro computing experience that stands out from traditional portfolio websites.
This terminal portfolio leverages HTML5 for semantic structure, CSS3 for terminal styling and animations, and vanilla JavaScript for command processing and interactive functionality. It demonstrates pure web technologies without frameworks, creating an authentic terminal experience with modern web standards.
Modern hosting platforms provide seamless deployment with features like automatic CI/CD, form handling, global CDN distribution, and performance optimization for terminal portfolio websites.
This repository features authentic terminal emulation with command history, tab completion, multiple color themes, realistic typing effects, and responsive design. It includes ASCII art display, system information commands, social media integration, and interactive command processing with error handling.
Important
Interactive Command Line Interface โ Experience authentic terminal interaction with a comprehensive set of commands. This terminal portfolio demonstrates real-world command-line functionality with modern web technologies, combining the power of HTML5, CSS3, and vanilla JavaScript for an immersive CLI experience.
Command | Description |
---|---|
help |
Displays all available commands |
whoami |
Shows your name and intro bio |
socials |
Displays your social media links |
projects |
Lists your highlighted personal or academic projects |
email |
Shows your contact email |
neofetch |
Displays fun system info in neofetch-style layout |
asciiart |
Prints cool ASCII art |
sudo |
Easter egg ๐ |
clear |
Clears the screen |
exit |
Exits the simulated terminal |
- ๐จ Multiple Color Themes
- Classic terminal themes: Green, Amber, Blue, Red, Pink
- Dark mode optimized for extended use
- Theme persistence across sessions
- โก Terminal Features
- Realistic typing animations and caret blinking
- Command history navigation with arrow keys
- Auto-completion and command suggestions
- Responsive design for all devices
- ๐ Pure Web Technologies
- No frameworks or dependencies required
- Vanilla JavaScript for optimal performance
- CSS3 animations and transitions
- HTML5 semantic structure
This terminal portfolio project showcases authentic command-line interface simulation using pure web technologies. The website features realistic terminal behavior, interactive commands, and multiple themes that demonstrate advanced CSS and JavaScript skills. Perfect for developers who want to create a unique, memorable portfolio experience.
1] HTML5 โ Semantic structure for terminal interface and accessibility
2] CSS3 โ Terminal styling, animations, and responsive design
3] JavaScript ES6+ โ Command processing and interactive functionality
4] Terminal Emulation โ Authentic CLI experience with web technologies
5] Animation APIs โ Smooth typing effects and transitions
6] Local Storage โ Theme persistence and user preferences
1] Command Parser:
Processes user input, validates commands, and executes appropriate functions with error handling.
2] Output Renderer:
Displays command results with proper formatting, colors, and animations in terminal style.
3] Theme Manager:
Handles multiple color schemes, theme switching, and persistent user preferences.
4] Animation Engine:
Controls typing effects, cursor blinking, and smooth transitions for realistic terminal feel.
1] VS Code โ Modern code editor with terminal integration โ code.visualstudio.com
2] Git โ Version control for tracking development progress โ git-scm.com
3] Chrome DevTools โ Browser tools for debugging terminal behavior
4] Live Server โ Local development server with hot reload
5] Netlify โ Modern hosting with instant deployment โ netlify.com
6] Terminal Emulators โ Reference for authentic terminal behavior
7] ASCII Art Generators โ Tools for creating terminal art
8] Color Palette Tools โ Terminal theme color selection
1] Command Line Interface: HTML structure, CSS styling, JavaScript processing
2] Text Animation: CSS keyframes, JavaScript intervals, typing effects
3] Theme Systems: CSS custom properties, local storage, dynamic styling
4] Interactive Elements: Event listeners, keyboard navigation, command history
Click to expand file structure
Web-Bashfolio/
โโโ ๐ index.html # Main terminal interface
โโโ ๐ LICENSE # MIT license
โโโ ๐ README.md # Project documentation
โโโ ๐ assets/
โ โโโ ๐จ palet.png # Color palette reference
โ โโโ ๐ฌ themes.gif # Theme demonstration
โ โโโ ๐ themes_stack.png # Theme stack overview
โโโ ๐ css/
โ โโโ ๐จ academia.css # Academic theme
โ โโโ ๐
aurora.css # Aurora theme
โ โโโ โซ b&w.css # Black & white theme
โ โโโ ๐ต default.css # Default blue theme
โ โโโ โ espresso.css # Espresso dark theme
โ โโโ ๐ green.css # Classic green theme
โ โโโ ๐ pink.css # Retro pink theme
โ โโโ โ๏ธ set_theme.css # Theme management
โโโ ๐ js/
โ โโโ ๐ถ caret.js # Terminal cursor animation
โ โโโ โก command.js # Command processing logic
โ โโโ ๐ฎ main.js # Main application logic
โโโ ๐ prvt/ # Private development files
โ โโโ ๐
aurorav1.css # Aurora theme v1
โ โโโ ๐ backup.md # Development backup
โ โโโ ๐ถ caret.js # Caret backup
โ โโโ โก command.js # Command backup
โ โโโ ๐ index.html # Index backup
โ โโโ ๐ฎ main.js # Main backup
โ โโโ ๐จ style.css # Style backup
โ โโโ ๐งช temp.css # Temporary styles
โโโ ๐ Tutorial/ # Step-by-step guides
โโโ ๐ 01_terminal_core_ui_.md
โโโ ๐ 02_user_input___typing_handler_.md
โโโ ๐ 03_command_interpreter_.md
โโโ ๐ 04_command_output_data_.md
โโโ ๐ 05_output_rendering_engine_.md
โโโ ๐ 06_theme_management_.md
โโโ ๐ README.md # Tutorial overview
Get your own terminal portfolio live in under 2 minutes!
-
๐ด Fork this repository
- Click the "Fork" button at the top of this page
- This creates your own copy of the project
-
๐ Deploy instantly to Netlify
- Click the "Deploy to Netlify" button above
- Connect your GitHub account
- Select your forked repository
- Your site will be live in minutes!
-
โ๏ธ Customize later
- Edit files directly on GitHub or clone locally
- Netlify will automatically redeploy when you make changes
- Follow the customization guide below to personalize it
Want to understand how this terminal portfolio was built? Check out our comprehensive tutorial series:
๐ Tutorial Folder - Step-by-step guides covering:
Perfect for:
- ๐ Learning terminal emulation with web technologies
- ๐ป Understanding vanilla JavaScript project structure
- ๐จ Creating your own terminal-style portfolio
- ๐ Web development educational purposes
- Web browser (Chrome, Firefox, Safari, Edge)
- Code editor (VS Code recommended)
- Git (for version control)
- Basic understanding of HTML, CSS, and JavaScript
-
Clone your forked repository (or this one)
git clone https://github.com/YOUR-USERNAME/rushi-bashfolio.git cd rushi-bashfolio
-
Open in your browser
- Simply open
index.html
in your web browser - Or use a local server for better development experience:
# Using Python python -m http.server 8000 # Using Node.js npx serve . # Using VS Code Live Server extension # Right-click on index.html โ "Open with Live Server"
- Simply open
-
View the terminal
- Open
http://localhost:8000
in your browser - Start typing commands like
help
,whoami
,projects
- Open
For your forked repository:
- Go to Netlify
- Click "New site from Git"
- Connect your GitHub account
- Select your forked
rushi-bashfolio
repository - Deploy settings:
- Build command: (leave empty)
- Publish directory: (leave empty or set to root)
- Click "Deploy site"
- Go to Vercel
- Import your forked GitHub repository
- Deploy with default settings
- In your forked repository settings
- Go to "Pages" section
- Source: Deploy from branch โ
main
- Your site will be available at:
https://YOUR-USERNAME.github.io/rushi-bashfolio
- Install Firebase CLI:
npm install -g firebase-tools
- Run
firebase init hosting
in your project directory - Deploy with
firebase deploy
After forking and deploying, personalize your terminal portfolio:
- Update personal information in
js/command.js
- Replace projects with your own work
- Change social media links to yours
- Update contact email
- Modify the welcome message
- Add your own ASCII art
- Choose your preferred theme
- Update the page title in
index.html
๐ Personalizing Content
Edit the command outputs in js/command.js
:
1. Update whoami
command:
whoami: {
description: "Display current user information",
output: () => {
return `
guest@portfolio:~$ whoami
Your Name Here
Student | Developer | Your Title
Your bio and introduction here...
`;
}
}
2. Modify projects
command:
projects: {
description: "Display portfolio projects",
output: () => {
return `
๐ Your Amazing Project
Description of your project
[Tech: React, Node.js, MongoDB]
๐ฎ Another Cool Project
What this project does
[Tech: JavaScript, CSS, HTML]
`;
}
}
3. Change socials
command:
socials: {
description: "Display social media links",
output: () => {
return `
๐ฑ Social Media Links:
GitHub: https://github.com/yourusername
LinkedIn: https://linkedin.com/in/yourprofile
Twitter: https://twitter.com/yourhandle
`;
}
}
4. Update email
command:
email: {
description: "Display contact email",
output: () => {
return `๐ง Contact: your.email@example.com`;
}
}
๐จ Adding New Commands
Add new commands in js/command.js
:
// Add to the commands object
commands: {
// ... existing commands
resume: {
description: "Download my resume",
output: () => {
window.open('./assets/your-resume.pdf', '_blank');
return "๐ Opening resume in new tab...";
}
},
skills: {
description: "Display technical skills",
output: () => {
return `
๐ป Technical Skills:
Languages: JavaScript, Python, Java
Frontend: React, Vue.js, HTML/CSS
Backend: Node.js, Express, MongoDB
Tools: Git, Docker, VS Code
`;
}
}
}
๐จ Theme Customization
Switch between pre-built themes by changing the CSS import in index.html
:
<!-- Choose one of these themes -->
<link rel="stylesheet" href="css/green.css"> <!-- Classic green -->
<link rel="stylesheet" href="css/aurora.css"> <!-- Aurora blue -->
<link rel="stylesheet" href="css/pink.css"> <!-- Retro pink -->
<link rel="stylesheet" href="css/espresso.css"> <!-- Dark espresso -->
Create a new CSS file in the css/
directory:
/* css/mytheme.css */
:root {
--primary-color: #your-primary-color;
--secondary-color: #your-secondary-color;
--background-color: #your-background;
--text-color: #your-text-color;
--accent-color: #your-accent-color;
}
๐ Learning from Tutorials
Learn how each component works by following our tutorial series in the Tutorial/
folder:
- Overview - Project architecture and concepts
- Terminal Core UI - Building the terminal interface
- User Input & Typing Handler - Handling user interactions
- Command Interpreter - Processing commands
- Command Output Data - Managing command responses
- Output Rendering Engine - Displaying results
- Theme Management - Creating and switching themes
Perfect for:
- Understanding the codebase structure
- Learning terminal emulation concepts
- Building your own commands and features
- Exploring advanced customization options
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-command
) - Add your changes (new commands, themes, features)
- Test your changes thoroughly
- Commit your changes (
git commit -m 'Add new terminal command'
) - Push to the branch (
git push origin feature/new-command
) - Open a Pull Request
- ๐จ New terminal themes
- โก Additional commands
- ๐ Bug fixes and improvements
- ๐ Documentation updates
- ๐ Accessibility enhancements
๐ง Email: rushiofficial1205@gmail.com
๐ผ LinkedIn: in/rushhiii
๐ GitHub: @rushhiii
๐ Portfolio: rushi-bashfolio.netlify.app
๐ฅ๏ธ Terminal Portfolio: rushi-bashfolio.netlify.app
by @rushhiii