This is not your average portfolio. It's an immersive, interactive terminal experience designed to showcase my skills in web development and my passion for cybersecurity. The entire site is built to mimic a retro BASH terminal, complete with a system boot-up sequence and custom commands.
- Animated Boot-Up Intro: A realistic BIOS/boot sequence that runs before the terminal loads.
- Interactive Terminal: A fully functional terminal interface built with vanilla JavaScript.
- Animated ASCII Art Header: A continuously animating "glitch" effect on the "OSKER" ASCII art title.
- Custom Commands: A variety of commands to explore my profile, skills, and projects.
- Typewriter Effect: Command outputs are typed out character-by-character for a realistic feel.
- Command History: Navigate through your previously entered commands using the Up/Down arrow keys.
- Dark-Themed CV Page: The
rootcommand grants access to a clean, modern, dark-themed CV page. - Pure Vanilla JS: No frameworks or external libraries (except for the optional Typewriter.js). Lightweight and fast.
- HTML5
- CSS3
- Vanilla JavaScript (ES6+)
To run this project locally:
- Clone the repository:
git clone https://github.com/osker35/portfolio-website.git
- Navigate to the project directory:
cd portfolio-website - Open the
index.htmlfile in your favorite web browser.
The terminal accepts the following commands:
| Command | Description |
|---|---|
root |
Grants access and redirects to the full CV page. |
help |
Displays a list of all available commands. |
fetch |
Shows a summary of my profile with a cool ASCII art. |
whoami |
Prints a short biography. |
social |
Displays my social and professional links. |
projects |
Lists my key projects and their descriptions. |
clear |
Clears the terminal screen, keeping the header art. |
Want to fork this and make it your own? Here’s how:
- Intro Sequence: Modify the
bootMessagesarray at the top ofscript.js. - ASCII Art & Animation: The
asciiFrame1,asciiFrame2, etc., constants ininitializeTerminal()withinscript.jshold the animation frames. You can generate your own ASCII art and create new frames. - Command Outputs: All command responses can be found and edited inside the
handleCommandfunction inscript.js. - CV Details: All personal information, experience, and skills can be edited directly in the
cv.htmlfile.
This project is distributed under the MIT License. See the LICENSE file for more information.
