Skip to content

Commit 82b36ec

Browse files
Big website update - project gallery and bug fixes
1 parent ffed38b commit 82b36ec

File tree

11 files changed

+1995
-27
lines changed

11 files changed

+1995
-27
lines changed

docs/404.html

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<div id="particles-js" style="padding-top: none; margin-top: none;">
1616
<script src="libraries/particles.js-master/particles.js"></script>
1717
<script src="libraries/particles.js-master/app.js"></script>
18-
<nav class="navbar navbar-expand-lg sticky-top shadow-lg" data-bs-theme="dark" style="background-color: green;">
18+
<nav class="navbar navbar-expand-lg fixed-top shadow-lg" data-bs-theme="dark" style="background-color: green;">
1919
<div class="container-fluid">
2020
<a class="navbar-brand disabled"><img src="Resources/logo.svg" class="img-fluid position-relative" alt="scratch vr extension header image" style="width: 50px;"></a>
2121
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
@@ -24,22 +24,19 @@
2424
<div class="collapse navbar-collapse" id="navbarNavDropdown">
2525
<ul class="navbar-nav me-auto">
2626
<li class="nav-item">
27-
<a class="nav-link" href="/BlockifyVR/">Home</a>
27+
<a class="nav-link" href="/">Home</a>
2828
</li>
2929
<li class="nav-item">
30-
<a class="nav-link" href="documentation">Documentation</a>
30+
<a class="nav-link" href="/documentation/">Documentation</a>
3131
</li>
3232
<li class="nav-item">
33-
<a class="nav-link disabled" disabled>Project Gallery</a>
34-
</li>
35-
<li class="nav-item">
36-
<a class="nav-link disabled" disabled>Support and Feedback</a>
33+
<a class="nav-link" href="/projects/">Project Gallery</a>
3734
</li>
3835
</ul>
3936
</div>
4037
</div>
4138
</nav>
42-
<div class="text-center" style="padding-top: 100px; padding-bottom: 50px">
39+
<div class="d-flex align-items-center justify-content-center text-center" style="height: 100vh">
4340
<div class="container-fluid">
4441
<a href="BlockifyVR.php">
4542
<img style="width: 100px; height: 100px" src="Resources/logo.svg" class="img-fluid position-relative zoom" alt="blockify vr extension header image">
@@ -48,12 +45,6 @@ <h4 style="padding-top: 15px; padding-bottom: 3px">BlockifyVR</h4>
4845
<hr style="margin: auto; padding-top: auto; width: 25%; text-align: center; border-width: .5px;" class="border border-success opacity-50">
4946
<h1 style="font-size: 5rem">404</h1>
5047
<h2>Page not found</h2>
51-
<div class="container" style="padding-top: 25px;">
52-
<a href="javascript:history.back()" class="btn btn-outline-primary px-5"><i style="padding-right: 5px" class="fa-solid fa-arrow-left"></i> Go Back</a>
53-
</div>
54-
<div class="container" style="padding-top: 10px;">
55-
<a href="/BlockifyVR/" class="btn btn-outline-primary px-5"><i style="padding-right: 5px" class="fa-solid fa-house"></i> Go Home</a>
56-
</div>
5748
</div>
5849
</div>
5950
</div>

docs/Resources/styles.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,5 +366,9 @@ input:-webkit-autofill:active {
366366
.card:hover {
367367
box-shadow: 0rem 0rem 2rem rgba(0, 0, 0, .3) !important;
368368
transform: scale(1.02);
369-
transition: all 0.5s
369+
transition: all 0.5s;
370370
}
371+
372+
a:has(> .card) {
373+
text-decoration: none;
374+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title>BlockifyVR Documentation</title>
7+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
8+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
9+
<link rel="icon" type="image/svg+xml" href="../../Resources/favicon.svg">
10+
<link rel="stylesheet" href="../../Resources/styles.css">
11+
</head>
12+
<body style="height: 100%; margin: 0">
13+
<nav class="navbar navbar-expand-lg" data-bs-theme="dark" style="background-color:#128211;">
14+
<div class="container-fluid">
15+
<a class="navbar-brand disabled"><img src="../../Resources/logo.svg" class="img-fluid position-relative" alt="scratch vr extension header image" style="width: 50px;"></a>
16+
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
17+
<span class="navbar-toggler-icon"></span>
18+
</button>
19+
<div class="collapse navbar-collapse" id="navbarNavDropdown">
20+
<ul class="navbar-nav me-auto">
21+
<li class="nav-item">
22+
<a class="nav-link" href="/">Home</a>
23+
</li>
24+
<li class="nav-item">
25+
<a class="nav-link active" aria-current="page" href="/documentation/">Documentation</a>
26+
</li>
27+
<li class="nav-item">
28+
<a class="nav-link" href="/projects/">Project Gallery</a>
29+
</li>
30+
</ul>
31+
</div>
32+
</div>
33+
</nav>
34+
<div class="row" style="height: 100%;">
35+
<div class="col-2 offcanvas-xl" style="min-width: 200px;">
36+
<div class="border-end border-2 border-success" style="height: 100%; min-width: 200px; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3)">
37+
<nav class="">
38+
<ul class="nav nav-pills flex-column" style="padding: 10px; height: 100%;">
39+
<li class="nav-item">
40+
<a class="nav-link" href="/documentation/introduction/" style="color: darkgreen !important;">Introduction</a>
41+
</li>
42+
<li class="nav-item">
43+
<a class="nav-link active" href="/documentation/getting-started/"><b>Getting Started</b></a>
44+
</li>
45+
<li class="nav-item">
46+
<a class="nav-link" style="color: darkgreen !important;">The Blocks</a>
47+
</li>
48+
</ul>
49+
</nav>
50+
</div>
51+
</div>
52+
<div class="col-10">
53+
<div style="padding: 15px;">
54+
<h1>Introduction</h1>
55+
<p>TODO WIP</p>
56+
</div>
57+
<div class="d-flex justify-content-end" style="padding-right: 100px; padding-bottom: 50px">
58+
<a class="btn btn-outline-primary disabled" disabled role="button">Next ></a>
59+
</div>
60+
</div>
61+
</div>
62+
<footer>
63+
<div class="container-fluid d-flex align-items-center justify-content-center" style="background-color: green; color: white; height: auto;">
64+
<p style="color: white"><b><br/>Not affiliated with Scratch, the Scratch Team, or the Scratch Foundation.</b>
65+
Created by <a style="color: white;" href="https://scratch.mit.edu/users/-MasterMath-"><b>@-MasterMath-</b></a> on <a style="color: white" href="https://scratch.mit.edu">Scratch.</a></p>
66+
</div>
67+
</footer>
68+
</body>
69+
</html>

docs/documentation/introduction/index.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<link rel="icon" type="image/svg+xml" href="../../Resources/favicon.svg">
1010
<link rel="stylesheet" href="../../Resources/styles.css">
1111
</head>
12-
<body style="height: 100%, margin: 0">
12+
<body style="height: 100%; margin: 0">
1313
<nav class="navbar navbar-expand-lg" data-bs-theme="dark" style="background-color:#128211;">
1414
<div class="container-fluid">
1515
<a class="navbar-brand disabled"><img src="../../Resources/logo.svg" class="img-fluid position-relative" alt="scratch vr extension header image" style="width: 50px;"></a>
@@ -19,16 +19,13 @@
1919
<div class="collapse navbar-collapse" id="navbarNavDropdown">
2020
<ul class="navbar-nav me-auto">
2121
<li class="nav-item">
22-
<a class="nav-link" href="/BlockifyVR/">Home</a>
22+
<a class="nav-link" href="/">Home</a>
2323
</li>
2424
<li class="nav-item">
25-
<a class="nav-link active" aria-current="page" href="#">Documentation</a>
25+
<a class="nav-link active" aria-current="page" href="/documentation/">Documentation</a>
2626
</li>
2727
<li class="nav-item">
28-
<a class="nav-link disabled" disabled>Project Gallery</a>
29-
</li>
30-
<li class="nav-item">
31-
<a class="nav-link disabled" dsabled>Support and Feedback</a>
28+
<a class="nav-link" href="/projects/">Project Gallery</a>
3229
</li>
3330
</ul>
3431
</div>
@@ -40,13 +37,13 @@
4037
<nav class="">
4138
<ul class="nav nav-pills flex-column" style="padding: 10px; height: 100%;">
4239
<li class="nav-item">
43-
<a class="nav-link active" href="Introduction.php"><b>Introduction</b></a>
40+
<a class="nav-link active" href="/documentation/introduction/"><b>Introduction</b></a>
4441
</li>
4542
<li class="nav-item">
46-
<a class="nav-link disabled" disabled style="color: darkgreen !important;">Getting Started</a>
43+
<a class="nav-link" href="/documentation/getting-started/" style="color: darkgreen !important;">Getting Started</a>
4744
</li>
4845
<li class="nav-item">
49-
<a class="nav-link disabled" disabled style="color: darkgreen !important;">The Blocks</a>
46+
<a class="nav-link" style="color: darkgreen !important;">The Blocks</a>
5047
</li>
5148
</ul>
5249
</nav>

docs/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1">
66
<title>Coming Soon</title>
77
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
8-
<link rel="icon" type="image/svg+xml" href="Resources/favicon.svg">
8+
<link rel="icon" type="image/svg+xml" href="/Resources/favicon.svg">
99
</head>
1010
<body style="height: 100%; margin: 0px; color: darkgreen;">
1111
<div id="particles-js" style="padding-top: none; margin-top: none; min-height: 100vh; overflow: hidden;">
1212
<script src="libraries/particles.js-master/particles.js"></script>
1313
<script src="libraries/particles.js-master/app.js"></script>
1414
<div class="text-center" style="display: flex; justify-content: center; align-items: center; height: 100vh">
1515
<div class="container-fluid">
16-
<img style="width: 10rem; height: 10rem" src="logo.svg" class="img-fluid position-relative zoom" alt="blockify vr extension header image">
16+
<img style="width: 10rem; height: 10rem" src="/Resources/logo.svg" class="img-fluid position-relative zoom" alt="blockify vr extension header image">
1717
<h1 style="padding-top: 15px; padding-bottom: 3px; font-size: 5rem;">BlockifyVR</h1>
1818
<hr style="margin: auto; width: 30vh; text-align: center; border-width: 1px;" class="border border-success opacity-50">
1919
<h2 style="padding-top: 3px; font-size: 3rem;">Coming Soon</h2>

docs/projects/-MasterMath-/Scratch Flight Simulator X/index.html

Lines changed: 522 additions & 0 deletions
Large diffs are not rendered by default.
569 KB
Loading

docs/projects/Minecraft/index.html

Lines changed: 1218 additions & 0 deletions
Large diffs are not rendered by default.
1.13 MB
Loading

docs/projects/index.html

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title>BlockifyVR | Project Gallery</title>
7+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
8+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
9+
<link rel="icon" type="image/svg+xml" href="/Website/Resources/favicon.svg">
10+
<link rel="stylesheet" href="/Resources/styles.css">
11+
<script>
12+
const id = new URLSearchParams(window.location.search).get("q");
13+
14+
fetch('/projects/projects.json')
15+
.then(response => response.json())
16+
.then(data => {
17+
if (id) {
18+
if (!data[id]) {
19+
window.location.href = '/404.html';
20+
} else {
21+
loadProject(id, data);
22+
}
23+
} else {
24+
loadGallery(data);
25+
}
26+
})
27+
.catch(error => {
28+
console.error('Error fetching project gallery data:', error);
29+
const alert = document.createElement("div");
30+
alert.innerHTML = `<b>Error Loading Projects</b>`;
31+
alert.setAttribute("class", "alert alert-danger");
32+
alert.style.color = "darkred";
33+
document.getElementById("projectContainer").append(alert);
34+
});
35+
36+
function loadGallery(data) {
37+
if (data.length == 0) {
38+
const container = `
39+
<h1>Project Gallery</h1>
40+
<div class="container text-center" style="padding-top: 10px; padding-left: 10%; padding-right: 10%">
41+
<div id="gallery" style="padding-top: 25px;">
42+
</div>
43+
</div>`;
44+
document.getElementById("projectContainer").appendChild(document.createRange().createContextualFragment(container));
45+
46+
const alert = document.createElement("div");
47+
alert.innerHTML = "<b>No Projects Found</b>";
48+
alert.setAttribute("class", "alert alert-success");
49+
alert.style.color = "darkgreen";
50+
document.getElementById("gallery").prepend(alert);
51+
} else {
52+
const container = `
53+
<h1>Project Gallery</h1>
54+
<div class="container text-center" style="padding-top: 10px; padding-left: 10%; padding-right: 10%">
55+
<input id="projectSearch" style="color: darkgreen;" type="text" class="form-control" placeholder="Search for a project..." onkeyup="searchProject(value)">
56+
<div id="gallery" style="padding-top: 25px;" class="text-start row row-cols-1 row-cols-md-3 g-4">
57+
</div>
58+
</div>`;
59+
document.getElementById("projectContainer").appendChild(document.createRange().createContextualFragment(container));
60+
61+
const gallery = document.getElementById("gallery");
62+
data.forEach(element => {
63+
let card =
64+
`<div id="${data.indexOf(element)}" class="col project">
65+
<a href="/projects?q=${data.indexOf(element)}">
66+
<div class="card" style="width: auto; border-radius: 8px;">
67+
<img src="/projects/${element}/thumbnail.png" class="card-img-top" style="padding: 10px; border-radius: 15px">
68+
<div class="card-body">
69+
<h5 class="card-title text-truncate" style="margin-bottom: 0; color: darkgreen;">${element.slice(element.indexOf("/") + 1, element.lastIndexOf("/"))}</h5>
70+
</div>
71+
</div>
72+
</a>
73+
</div>`;
74+
gallery.appendChild(document.createRange().createContextualFragment(card));
75+
});
76+
}
77+
}
78+
79+
function loadProject(id, data) {
80+
const html = `
81+
<h1>${data[id].slice(data[id].indexOf("/") + 1, data[id].lastIndexOf("/"))}</h1>
82+
<h5 style="padding-bottom: 25px;">${data[id].slice(0, data[id].indexOf("/"))}</h5>
83+
<iframe style="border-radius: 8px; border: none;" src="/projects/${data[id]}/index.html"></iframe>`;
84+
85+
document.getElementById("projectContainer").appendChild(document.createRange().createContextualFragment(html));
86+
}
87+
88+
function searchProject(value) {
89+
let projects = document.querySelectorAll(".project");
90+
console.log(value);
91+
const searchQuery = value.toLowerCase();
92+
93+
projects.forEach(project => {
94+
const h5 = project.querySelector("h5").textContent.toLowerCase();
95+
if (h5.includes(searchQuery)) {
96+
project.style.removeProperty("display");
97+
} else {
98+
project.style.display = "none";
99+
}
100+
});
101+
}
102+
</script>
103+
104+
<style>
105+
html, body {
106+
height: 100%;
107+
margin: 0;
108+
}
109+
110+
body {
111+
display: flex;
112+
flex-direction: column;
113+
min-height: 100vh;
114+
}
115+
116+
#projectContainer {
117+
flex: 1;
118+
display: flex;
119+
flex-direction: column;
120+
padding: 50px 10%;
121+
}
122+
123+
#projectContainer iframe {
124+
flex: 1;
125+
border-radius: 8px;
126+
width: 100%;
127+
border: none;
128+
}
129+
</style>
130+
</head>
131+
<body class="d-flex flex-column min-vh-100" style="height: 100%;">
132+
<nav class="navbar navbar-expand-lg" data-bs-theme="dark" style="background-color:#128211;">
133+
<div class="container-fluid">
134+
<a class="navbar-brand disabled"><img src="../../Resources/logo.svg" class="img-fluid position-relative" alt="scratch vr extension header image" style="width: 50px;"></a>
135+
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
136+
<span class="navbar-toggler-icon"></span>
137+
</button>
138+
<div class="collapse navbar-collapse" id="navbarNavDropdown">
139+
<ul class="navbar-nav me-auto">
140+
<li class="nav-item">
141+
<a class="nav-link" href="/">Home</a>
142+
</li>
143+
<li class="nav-item">
144+
<a class="nav-link" href="/documentation/">Documentation</a>
145+
</li>
146+
<li class="nav-item">
147+
<a class="nav-link active" aria-current="page" href="/projects/">Project Gallery</a>
148+
</li>
149+
</ul>
150+
</div>
151+
</div>
152+
</nav>
153+
<div class="text-center" id="projectContainer" style="padding: 50px 10%;">
154+
155+
</div>
156+
<footer class="mt-auto footer-dark">
157+
<div class="container-fluid d-flex align-items-center justify-content-center">
158+
<p><b><br/>Not affiliated with Scratch, the Scratch Team, or the Scratch Foundation.</b>
159+
Created by <a href="https://scratch.mit.edu/users/-MasterMath-"><b>@-MasterMath-</b></a> on <a href="https://scratch.mit.edu">Scratch.</a></p>
160+
</div>
161+
</footer>
162+
</body>
163+
</html>

0 commit comments

Comments
 (0)