Skip to content

Commit 2b88c5c

Browse files
authored
feat: Add Download Page (#105)
Add a download page to easily allow downloading the latest release.
1 parent 3370faa commit 2b88c5c

11 files changed

+326
-10
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ node_modules
1111
dist
1212
dist-ssr
1313
*.local
14+
src/data
1415

1516
# Editor directories and files
1617
.vscode/*

download.html

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/zmk.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>ZMK Studio - Download</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/download.tsx"></script>
12+
</body>
13+
</html>

package-lock.json

+79-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,19 @@
44
"version": "0.2.4",
55
"type": "module",
66
"scripts": {
7-
"dev": "vite",
8-
"build": "tsc && vite build",
7+
"generate-data": "node scripts/generate-release-data.js",
8+
"dev": "npm run generate-data && vite",
9+
"build": "npm run generate-data && tsc && vite build",
910
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
1011
"preview": "vite preview",
1112
"tauri": "tauri",
1213
"storybook": "storybook dev -p 6006",
1314
"build-storybook": "storybook build"
1415
},
1516
"dependencies": {
17+
"@fortawesome/fontawesome-svg-core": "^6.7.1",
18+
"@fortawesome/free-brands-svg-icons": "^6.7.1",
19+
"@fortawesome/react-fontawesome": "^0.2.2",
1620
"@tailwindcss/container-queries": "^0.1.1",
1721
"@tauri-apps/api": "^2.0.0",
1822
"@tauri-apps/plugin-cli": "^2.0.0",
@@ -60,4 +64,4 @@
6064
"@esbuild/darwin-arm64": "0.23.0",
6165
"@rollup/rollup-darwin-arm64": "^4.18.1"
6266
}
63-
}
67+
}

public/zmk-mac-app-icon.webp

22.5 KB
Binary file not shown.

scripts/generate-release-data.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import fs from "fs/promises";
2+
import path from "path";
3+
import url from "url";
4+
5+
const __filename = url.fileURLToPath(import.meta.url);
6+
const __dirname = path.resolve(__filename, "../..");
7+
8+
async function generateReleaseData() {
9+
try {
10+
const response = await fetch(
11+
"https://api.github.com/repos/zmkfirmware/zmk-studio/releases/latest",
12+
);
13+
if (!response.ok) {
14+
throw new Error(`HTTP error! status: ${response.status}`);
15+
}
16+
17+
const data = await response.json();
18+
const dataFilePath = path.resolve(__dirname, "src", "data", "release-data.json");
19+
await fs.mkdir(path.dirname(dataFilePath), { recursive: true });
20+
await fs.writeFile(dataFilePath, JSON.stringify(data));
21+
22+
console.log("Release data generated successfully!");
23+
} catch (error) {
24+
console.error("Error generating release data:", error);
25+
process.exit(1);
26+
}
27+
}
28+
29+
generateReleaseData();

src/ConnectModal.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ function noTransportsOptionsPrompt() {
247247
</li>
248248
<li>
249249
Download our{" "}
250-
<ExternalLink href="https://github.com/zmkfirmware/zmk-studio/releases">
250+
<ExternalLink href="/download">
251251
cross platform application
252252
</ExternalLink>
253253
.

0 commit comments

Comments
 (0)