-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathabout.js
More file actions
71 lines (62 loc) · 4.15 KB
/
about.js
File metadata and controls
71 lines (62 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const BLACKLISTED_KEY_CODES = [38];
const COMMANDS = {
help: 'Supported commands: <span class="code">about</span>, <span class="code">experience</span>, <span class="code">education</span>, <span class="code">skills</span>, <span class="code">contact</span>',
about:
"Hello 👋<br>I'm Harbinder Singh, enthusiastic Cisco Certified Network Associate (CCNA) with 7 years’ experience in Network administration, installation, and optimization backed by Post Degree Diploma in Network Security and Project Management at the University of Winnipeg as well as Bachelors in Electronics and Communication from India. Away from keyboard, you can find me doing nature photography and socializing!",
skills:
'<span class="code">Networking:</span>CISCO Devices (Router 1941, Switch 2960/4321 and ASA-Firewall 5505-06), IP-Phone, Terminal Emulation, SolarWinds Networking Toolkit, and PRTG Networking tools.<br><span class="code">Security:</span>Nessus Pro, Windows Firewall, Panda Enterprise Antivirus, Pen-testing with Kali Linux.<br><span class="code">Hardware:</span>Routers and Switches from CISCO, MikroTik, TP-link, D-Link, and Laptops/Computers.<br><span class="code">Software:</span>CISCO IOS, PowerShell, Hosted and bare metal Virtual Machines, Packet tracer, and GNS3.<br><span class="code">Languages:</span>C, C++, Python, CISCO-CLI, PowerShell Scripting, JavaScript, PHP, and HTML.<br><span class="code">Operating System:</span>Kali Linux, Ubuntu, Windows XP/8/10, and Mac OS.',
education:
'<span class="code">University of Winnipeg(2018-19)</span><br>Network Security P.D. Diploma + Management Certificate.<br><span class="code">CCNA (2020)</span><br>CCNA Routing and Switching - Cisco',
resume: "<a href='./resume.pdf' class='success link'>resume.pdf</a>",
experience:
'<span class="code">NETWORK ARCHITECT (2020-2022)</span><br>Implemented 12+ new I.T. projects; for example, designed and implemented a secure LAN network to support 5000+ users and increased performance by 32% compared to the previous network.<br><span class="code">I.T. MANAGER (2015-18)</span><br>• Developed technology roadmaps for the organization and Performed network modeling, analysis, and planning to implement Azure Cloud hosted SaaS environment to deploy various Web based apps.',
contact:
"You can contact me on any of following links:<br><a href='https://www.linkedin.com/in/harbinder5ingh/' class='success link'>LinkedIn</a>, <a href='tel:2897726048' class='success link'>Phone</a>, <a href='https://wa.me/12897726048?text=Hi Harbinder. I just visited your website and It looks awesome!' class='success link'>Whatsapp</a>",
};
let userInput, terminalOutput;
const app = () => {
userInput = document.getElementById("userInput");
terminalOutput = document.getElementById("terminalOutput");
document.getElementById("dummyKeyboard").focus();
// console.log("Application loaded");
};
const execute = function executeCommand(input) {
let output;
input = input.toLowerCase();
if (input.length === 0) {
return;
}
output = `<div class="terminal-line"><span class="success">➜</span> <span class="directory">~</span> ${input}</div>`;
if (!COMMANDS.hasOwnProperty(input)) {
output += `<div class="terminal-line">no such command: ${input}</div>`;
// console.log("Oops! no such command");
} else {
output += COMMANDS[input];
}
terminalOutput.innerHTML = `${terminalOutput.innerHTML}<div class="terminal-line">${output}</div>`;
terminalOutput.scrollTop = terminalOutput.scrollHeight;
};
const key = function keyEvent(e) {
const input = userInput.innerHTML;
if (BLACKLISTED_KEY_CODES.includes(e.keyCode)) {
return;
}
if (e.key === "Enter") {
execute(input);
userInput.innerHTML = "";
return;
}
userInput.innerHTML = input + e.key;
};
const backspace = function backSpaceKeyEvent(e) {
if (e.keyCode !== 8 && e.keyCode !== 46) {
return;
}
userInput.innerHTML = userInput.innerHTML.slice(
0,
userInput.innerHTML.length - 1
);
};
document.addEventListener("keydown", backspace);
document.addEventListener("keypress", key);
document.addEventListener("DOMContentLoaded", app);