Skip to content
This repository was archived by the owner on May 9, 2023. It is now read-only.

Commit fcca211

Browse files
Add static files
1 parent cfd483d commit fcca211

File tree

5 files changed

+121
-1
lines changed

5 files changed

+121
-1
lines changed

.github/workflows/search_versions.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
branches:
77
- main
88

9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
914
jobs:
1015
findVersion:
1116
runs-on: ubuntu-latest
@@ -36,3 +41,31 @@ jobs:
3641
env:
3742
MONGO_USER: "${{ secrets.MONGO_USER }}"
3843
MONGO_PASSWORD: "${{ secrets.MONGO_PASSWORD }}"
44+
45+
deploy_static:
46+
needs: [findVersion]
47+
environment:
48+
name: github-pages
49+
url: ${{ steps.deployment.outputs.page_url }}
50+
runs-on: ubuntu-latest
51+
steps:
52+
- name: Checkout
53+
uses: actions/checkout@v3
54+
55+
- uses: actions/setup-node@v3
56+
name: Setup node.js
57+
with:
58+
node-version: 18.x
59+
60+
- name: Update files
61+
run: node static_version.mjs
62+
63+
- name: Upload artifact
64+
uses: actions/upload-pages-artifact@v1
65+
with:
66+
# Upload entire repository
67+
path: 'versions'
68+
69+
- name: Deploy to GitHub Pages
70+
id: deployment
71+
uses: actions/deploy-pages@v1

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@ dist/
44
*.tgz
55
CHANGELOG.md
66
*.env
7-
versions.json
7+
versions.json
8+
9+
# Static files
10+
versions/
11+
!versions/index.html

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mcpeversion-static.sirherobrine23.org

static_version.mjs

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import fsOld from "node:fs";
2+
import path from "node:path";
3+
import fs from "node:fs/promises";
4+
const rootVersions = path.join(process.cwd(), "versions");
5+
const Bedrock = path.join(rootVersions, "bedrock");
6+
const Pocketmine = path.join(rootVersions, "pocketmine");
7+
const Powernukkit = path.join(rootVersions, "powernukkit");
8+
const Java = path.join(rootVersions, "java");
9+
const Spigot = path.join(rootVersions, "spigot");
10+
const Paper = path.join(rootVersions, "paper");
11+
if (!fsOld.existsSync(rootVersions)) await fs.mkdir(rootVersions, {recursive: true});
12+
if (!fsOld.existsSync(Bedrock)) await fs.mkdir(Bedrock, {recursive: true});
13+
if (!fsOld.existsSync(Pocketmine)) await fs.mkdir(Pocketmine, {recursive: true});
14+
if (!fsOld.existsSync(Powernukkit)) await fs.mkdir(Powernukkit, {recursive: true});
15+
if (!fsOld.existsSync(Java)) await fs.mkdir(Java, {recursive: true});
16+
if (!fsOld.existsSync(Spigot)) await fs.mkdir(Spigot, {recursive: true});
17+
if (!fsOld.existsSync(Paper)) await fs.mkdir(Paper, {recursive: true});
18+
19+
const bedrockData = await (await fetch("https://mcpeversions.sirherobrine23.org/bedrock")).json();
20+
fs.writeFile(path.join(Bedrock, "latest.json"), JSON.stringify(bedrockData.find(release => release.latest), null, 2));
21+
await Promise.all(bedrockData.map(releases => {
22+
const version = path.join(Bedrock, `${releases.version}.json`);
23+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
24+
}));
25+
26+
const PocketmineData = await (await fetch("https://mcpeversions.sirherobrine23.org/Pocketmine")).json();
27+
fs.writeFile(path.join(Pocketmine, "latest.json"), JSON.stringify(PocketmineData.find(release => release.latest), null, 2));
28+
await Promise.all(PocketmineData.map(releases => {
29+
const version = path.join(Pocketmine, `${releases.version}.json`);
30+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
31+
}));
32+
33+
const PowernukkitData = await (await fetch("https://mcpeversions.sirherobrine23.org/Powernukkit")).json();
34+
fs.writeFile(path.join(Powernukkit, "latest.json"), JSON.stringify(PowernukkitData.find(release => release.latest), null, 2));
35+
await Promise.all(PowernukkitData.map(releases => {
36+
const version = path.join(Powernukkit, `${releases.version}.json`);
37+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
38+
}));
39+
40+
const JavaData = await (await fetch("https://mcpeversions.sirherobrine23.org/Java")).json();
41+
fs.writeFile(path.join(Java, "latest.json"), JSON.stringify(JavaData.find(release => release.latest), null, 2));
42+
await Promise.all(JavaData.map(releases => {
43+
const version = path.join(Java, `${releases.version}.json`);
44+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
45+
}));
46+
47+
const SpigotData = await (await fetch("https://mcpeversions.sirherobrine23.org/Spigot")).json();
48+
fs.writeFile(path.join(Spigot, "latest.json"), JSON.stringify(SpigotData.find(release => release.latest), null, 2));
49+
await Promise.all(SpigotData.map(releases => {
50+
const version = path.join(Spigot, `${releases.version}.json`);
51+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
52+
}));
53+
54+
const PaperData = await (await fetch("https://mcpeversions.sirherobrine23.org/Paper")).json();
55+
fs.writeFile(path.join(Paper, "latest.json"), JSON.stringify(PaperData.find(release => release.latest), null, 2));
56+
await Promise.all(PaperData.map(releases => {
57+
const version = path.join(Paper, `${releases.version}_${releases.build}.json`);
58+
return fs.writeFile(version, JSON.stringify(releases, null, 2));
59+
}));

versions/index.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Static JSON Minecraft Servers</title>
8+
</head>
9+
<body>
10+
<div>Bedrock: <span id="serverBedrock">Loadding...</span></div>
11+
<div>Java: <span id="serverJava">Loadding...</span></div>
12+
<div>Paper: <span id="serverPaper">Loadding...</span></div>
13+
<div>Pocketmine-MP: <span id="serverPocketmine">Loadding...</span></div>
14+
<div>Spigot: <span id="serverSpigot">Loadding...</span></div>
15+
<script>
16+
fetch("bedrock/latest.json").then(res => res.json()).then(data => document.getElementById("serverBedrock").innerHTML = data.version);
17+
fetch("java/latest.json").then(res => res.json()).then(data => document.getElementById("serverJava").innerHTML = data.version);
18+
fetch("paper/latest.json").then(res => res.json()).then(data => document.getElementById("serverPaper").innerHTML = data.version);
19+
fetch("pocketmine/latest.json").then(res => res.json()).then(data => document.getElementById("serverPocketmine").innerHTML = data.version);
20+
fetch("spigot/latest.json").then(res => res.json()).then(data => document.getElementById("serverSpigot").innerHTML = data.version);
21+
</script>
22+
</body>
23+
</html>

0 commit comments

Comments
 (0)