first commit

This commit is contained in:
Ksan 2025-06-14 20:54:36 +02:00
commit f8a452c887
20 changed files with 389 additions and 0 deletions

BIN
images/git.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

BIN
images/grad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 KiB

BIN
images/img.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
images/ksan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

BIN
images/missing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
images/missing1080.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
images/output.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/serv.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

133
index.html Normal file
View File

@ -0,0 +1,133 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="main.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Website
</title>
</head>
<body>
<div class="start">
<div class="welcome">
<center>
<h1>
Đorđe Kšan
</h1>
<h3>
Student at "Elektrotehnički fakultet u Banjaluci"
</h3>
</center>
<h5>(website is still under construction and may have bugs..)</h5>
</div>
<div class="grid-container">
<div class="grid-item">
<a href="#section1">
<h2 class="default">My Projects</h2>
<video src="videos/video2.mp4" autoplay muted loop></video>
</a>
</div>
<div class="grid-item">
<a href="#section2">
<h2 class="default">Skill</h2>
<h2 class="under-black">and more...</h2>
<video src="videos/video4.mp4" autoplay muted loop></video>
</a>
</div>
<div class="grid-item">
<a href="#section3" style="background-color: #0f1a52;">
<center><h2>work in progress</h2></center>
</a>
</div>
<div class="grid-item">
<a href="#section4">
<h2 class="default">Contact me</h2>
<video src="videos/background4.mp4" autoplay muted loop></video>
</a>
</div>
</div>
</div>
<div id="section1" class="section section-image">
<h1>My projects</h1>
<h3>you can find most of my project <i><b><u><a href="https://git.ksan.dev/ksan">here</a></u></b></i></h3>
<h6>There are only a few for now, still need to migrate the rest..</h6>
<div class="grid-container">
<div class="grid-item image-background" style="background-image: url('images/missing1080.jpg');">
<a href="https://git.ksan.dev/ksan">
<h2 class="default">will add soon...</h2>
</a>
</div>
<div class="grid-item image-background" style="background-image: url('images/serv.jpg');">
<a href="https://git.ksan.dev/ksan/docker-files">
<h2 class="default">My home server</h2>
</a>
</div>
</div>
</div>
<div id="section2" class="section section-video">
<video autoplay muted loop playsinline class="bg-video">
<source src="videos/background4.mp4" type="video/mp4">
</video>
<div class="content">
<h1>My Skills</h1>
<div class="skills">
<div class="skills-column">
<h3>Programming Languages</h3>
<ul>
<li>C/C++</li>
<li>Java</li>
<li>C#</li>
<li>Python</li>
<li>JavaScript(still learning)</li>
</ul>
</div>
<div class="skills-column">
<h3>Tools & Technologies</h3>
<ul>
<li>Linux</li>
<li>Git</li>
<li>Bash</li>
<li>Docker</li>
<li>Vim</li>
</ul>
</div>
</div>
</div>
</div>
<div id="section3" class="section section-image">
Work in progress,
go to: <a href="#section4"> contact</a>
</div>
<div id="section4" class="section section-video">
<video autoplay muted loop playsinline class="bg-video">
<source src="videos/background.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="content">
<h1>You can contact me at:<br>
<a href="mailto:djordjec@ksan.dev">djordje@ksan.dev</a>
</h1>
</div>
</div>
<script src="scripts.js"></script>
</body>
</html>

240
main.css Normal file
View File

@ -0,0 +1,240 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
/* font-family: Arial, sans-serif;*/
font-family: 'JetBrains Mono', monospace;
background-color: rgb(8, 8, 8);
scroll-behavior: smooth;
}
.start{
background-image: url(images/grad.png);
height: 100vh;
display: flex;
justify-content: center;
background-color: #333;
color: white;
font-size: 2rem;
}
.welcome{
font-family: 'JetBrains Mono', monospace;
}
.grid-container {
position: absolute;
top:40%;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
gap: 10%;
width: 55vw;
height: 55vh;
margin: auto;
}
@media (max-width: 768px) {
.grid-container {
position: absolute;
top:40%;
display: grid;
grid-template-columns: 1fr;
gap: 5%;
width: 60vw;
height: 60vh;
margin: auto;
}
}
.grid-item {
position: relative;
overflow: hidden;
border-radius: 22px;
box-shadow: 0 4px 8px rgb(0, 0, 0);
background-size: cover;
background-position: center;
}
.grid-item.image-background {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.grid-item video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.grid-item a {
display: block;
width: 100%;
height: 100%;
position: relative;
z-index: 1;
text-decoration: none; /* optional: remove underline */
color: inherit; /* optional: use inherited color */
}
.grid-item h2 {
margin: 0;
padding: 0 10px
}
.grid-item h2.default {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 2rem;
margin: 0;
padding: 0 10px;
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
pointer-events: none;
}
.grid-item h2.under-black {
position: absolute;
top: 70%;
left: 50%;
transform: translate(-50%, -50%);
color: rgb(0, 0, 0);
font-size: 2rem;
margin: 0;
padding: 0 10px;
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
pointer-events: none;
}
.section {
height: 100vh;
display: flex;
justify-content: center;
color: white;
font-size: 2rem;
text-align: center;
position: relative;
overflow: hidden;
}
.section-video .bg-video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 0;
}
.section-video .content {
z-index: 1;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center; /* Vertical centering */
height: 100%; /* Full height of section */
width: 100%;
text-align: center;
}
.section-video .skills {
display: flex;
justify-content: center;
gap: 60px;
flex-wrap: wrap;
margin-top: 20px;
}
.skills-column {
min-width: 200px;
}
.section-video .skills h3 {
margin-bottom: 10px;
color: #fff;
}
.section-video .skills ul {
list-style: none;
padding: 0;
}
.section-video .skills li {
background: rgba(255, 255, 255, 0.2);
margin: 5px 0;
padding: 8px 15px;
border-radius: 20px;
font-size: 1rem;
color: white;
text-align: center;
}
.section-image {
background-image: url('images/output.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
#section4 {
background-color: transparent;
}
#section1 {
background-image: url('images/output.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
padding-top: 50px;
color: white;
font-size: 2rem;
text-align: center;
position: relative;
overflow: hidden;
}
#section2 {
}
#section3 {
background-color: #142268;
}
.skill-icons img {
height: 50px;
width: auto;
object-fit: contain;
filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5));
transition: transform 0.3s;
}
.skill-icons img:hover {
transform: scale(1.1);
}
.no-link-style {
color: white;
text-decoration: none;
}
.no-link-style:hover {
text-decoration: underline; /* Optional hover effect */
}
a {
color: inherit !important;
}

16
scripts.js Normal file
View File

@ -0,0 +1,16 @@
const gridItems = document.querySelectorAll('.grid-item');
gridItems.forEach(item => {
const video = item.querySelector('video');
video.currentTime = 0;
video.pause();
item.addEventListener('mouseenter', () => {
video.play();
});
item.addEventListener('mouseleave', () => {
video.pause();
//video.currentTime = 0;
});
});

BIN
videos/background.mp4 Normal file

Binary file not shown.

BIN
videos/background2.mp4 Normal file

Binary file not shown.

BIN
videos/background3.mp4 Normal file

Binary file not shown.

BIN
videos/background4.mp4 Normal file

Binary file not shown.

BIN
videos/background5.mp4 Normal file

Binary file not shown.

BIN
videos/video1.mp4 Normal file

Binary file not shown.

BIN
videos/video2.mp4 Normal file

Binary file not shown.

BIN
videos/video3.mp4 Normal file

Binary file not shown.

BIN
videos/video4.mp4 Normal file

Binary file not shown.