-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
99 lines (95 loc) · 6.25 KB
/
Copy pathindex.html
File metadata and controls
99 lines (95 loc) · 6.25 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<html lang="id" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nur Muhammad Wafa | Interactive Portfolio</title>
<meta name="author" content="Nur Muhammad Wafa">
<meta property="og:title" content="Nur Muhammad Wafa | Interactive Portfolio">
<meta property="og:description" content="Specializing in Cybersecurity and Linux system administration.">
<link rel="icon" href="https://img.icons8.com/?size=100&id=Ttjsnau5W1jb&format=png&color=000000">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css" />
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
fontFamily: {
'fira-code': ['Fira Code', 'monospace'],
},
colors: {
'dark-bg': '#1a1b26',
'dark-fg': '#a9b1d6',
'dark-border': '#414868',
'dark-green': '#9ece6a',
'dark-blue': '#7aa2f7',
'dark-cyan': '#7dcfff',
'dark-red': '#f7768e',
'light-bg': '#fafafa',
'light-fg': '#26272b',
'light-border': '#cccccc',
'light-green': '#15803d',
'light-blue': '#1d4ed8',
'light-cyan': '#0e7490',
'light-red': '#b91c1c',
}
}
}
}
</script>
</head>
<body class="bg-light-bg dark:bg-dark-bg text-light-fg dark:text-dark-fg transition-colors duration-300" oncontextmenu="return false;">
<div id="terminal" class="p-2 sm:p-4 h-screen w-full flex flex-col">
<!-- Header Jendela Terminal -->
<div class="bg-gray-200 dark:bg-[#282a36] rounded-t-lg p-2 flex items-center gap-2 shadow-md">
<div class="w-3.5 h-3.5 bg-red-500 rounded-full"></div>
<div class="w-3.5 h-3.5 bg-yellow-500 rounded-full"></div>
<div class="w-3.5 h-3.5 bg-green-500 rounded-full"></div>
<div class="flex-grow text-center text-sm text-gray-600 dark:text-gray-400 overflow-hidden whitespace-nowrap text-ellipsis px-2">
root@localhost — yosh
</div>
<div class="flex items-center gap-3">
<!-- Tombol fullscreen -->
<button id="fullscreen-toggle" class="text-gray-600 dark:text-gray-400 hover:text-black dark:hover:text-white transition-colors">
<!-- Icon Expand -->
<svg id="fs-icon-expand" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"></path>
</svg>
<!-- Icon Compress (Hidden by default) -->
<svg id="fs-icon-compress" class="w-5 h-5 hidden" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4l5 5m11-5l-5 5m-11 11l5-5m11 5l-5-5M9 4v5H4m11-5v5h5M9 20v-5H4m11 5v-5h5"></path>
</svg>
</button>
<!-- Tombol Light/Dark Mode -->
<button id="theme-toggle" class="text-gray-600 dark:text-gray-400 hover:text-black dark:hover:text-white transition-colors">
<svg id="theme-icon-dark" class="w-5 h-5 hidden" fill="currentColor" viewBox="0 0 20 20"><path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg>
<svg id="theme-icon-light" class="w-5 h-5 hidden" fill="currentColor" viewBox="0 0 20 20"><path d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm-.707 8.486a1 1 0 011.414 0l.707.707a1 1 0 01-1.414 1.414l-.707-.707a1 1 0 010-1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z"></path></svg>
</>
</div>
</div>
<!-- Konten Terminal -->
<div id="terminal-body" class="w-full flex-grow bg-white dark:bg-dark-bg border-x-2 border-b-2 border-light-border dark:border-dark-border rounded-b-lg p-4 overflow-y-auto overflow-x-hidden text-sm sm:text-base">
<div id="output"></div>
<div class="flex items-center">
<div class="flex-shrink-0 mr-2">
<span class="text-light-green dark:text-dark-green">root@localhost</span><span class="text-light-fg dark:text-dark-fg">:</span><span class="text-light-blue dark:text-dark-blue">~</span><span class="text-light-fg dark:text-dark-fg">#</span>
</div>
<div class="relative flex-grow" onclick="commandInput.focus()">
<input type="text" id="command-input" class="w-full bg-transparent border-none outline-none" autofocus autocomplete="off" spellcheck="false">
<div class="absolute inset-0 flex items-center pointer-events-none">
<span id="input-text-display" class="whitespace-pre"></span>
<span id="fake-cursor" class="blinking-cursor">_</span>
</div>
</div>
</div>
</div>
</div>
<script src="script.js"></script>
<!-- Block -->
<script src="block.js"></script>
</body>
</html>