From e22221bc41f684b58e07bafbbe6fe7b801d65fb4 Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sat, 1 Aug 2026 12:05:38 +0200 Subject: [PATCH 1/7] WIP: Add paperclip-rs downloads page --- src/pages/downloads/paperclip-rs.astro | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/pages/downloads/paperclip-rs.astro diff --git a/src/pages/downloads/paperclip-rs.astro b/src/pages/downloads/paperclip-rs.astro new file mode 100644 index 00000000..5ac3d134 --- /dev/null +++ b/src/pages/downloads/paperclip-rs.astro @@ -0,0 +1,14 @@ +--- +export const prerender = false; +import Layout from "@/layouts/Layout.astro"; + +Astro.response.headers.set("Cache-Control", "public, max-age=300, s-maxage=600, stale-while-revalidate=120"); +Astro.response.headers.set("CDN-Cache-Control", "public, max-age=600, stale-while-revalidate=120"); +--- + + From 50f1f61decea8d967c89baf3dd216313c018ff9f Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sat, 1 Aug 2026 13:01:44 +0200 Subject: [PATCH 2/7] WIP: Create paperclip-rs software/download page skeleton --- .../data/SoftwareGitHubDownloadButton.svelte | 113 ++++++++++++++++++ .../data/SoftwareGitHubDownloadPage.svelte | 78 ++++++++++++ src/components/layout/NavBar.astro | 1 + src/pages/downloads/paperclip-rs.astro | 13 +- src/pages/software/paperclip-rs.astro | 32 +++++ 5 files changed, 232 insertions(+), 5 deletions(-) create mode 100644 src/components/data/SoftwareGitHubDownloadButton.svelte create mode 100644 src/components/data/SoftwareGitHubDownloadPage.svelte create mode 100644 src/pages/software/paperclip-rs.astro diff --git a/src/components/data/SoftwareGitHubDownloadButton.svelte b/src/components/data/SoftwareGitHubDownloadButton.svelte new file mode 100644 index 00000000..73d1abaa --- /dev/null +++ b/src/components/data/SoftwareGitHubDownloadButton.svelte @@ -0,0 +1,113 @@ + + + + + diff --git a/src/components/data/SoftwareGitHubDownloadPage.svelte b/src/components/data/SoftwareGitHubDownloadPage.svelte new file mode 100644 index 00000000..04592d94 --- /dev/null +++ b/src/components/data/SoftwareGitHubDownloadPage.svelte @@ -0,0 +1,78 @@ + + +
+
+
+
+ {#if project.icon} + {`${project.name} + {/if} +
+

Downloads

+
+ +

+ Get {project.name} + {version} +

+ +

+ {#if Description} + {@render Description()} + {:else if typeof description === "string"} + {@html description} + {/if} +

+ +
+ +
+ +
+ +
+ + +
+
+ diff --git a/src/components/layout/NavBar.astro b/src/components/layout/NavBar.astro index b8301c89..d4997388 100644 --- a/src/components/layout/NavBar.astro +++ b/src/components/layout/NavBar.astro @@ -29,6 +29,7 @@ import LogoMarkerLight from "@/assets/brand/logo-marker-light.svg"; Paper Folia Velocity + Paperclip-rs Waterfall diff --git a/src/pages/downloads/paperclip-rs.astro b/src/pages/downloads/paperclip-rs.astro index 5ac3d134..8ef76095 100644 --- a/src/pages/downloads/paperclip-rs.astro +++ b/src/pages/downloads/paperclip-rs.astro @@ -1,5 +1,6 @@ --- export const prerender = false; +import SoftwareGitHubDownloadPage from "@/components/data/SoftwareGitHubDownloadPage.svelte"; import Layout from "@/layouts/Layout.astro"; Astro.response.headers.set("Cache-Control", "public, max-age=300, s-maxage=600, stale-while-revalidate=120"); @@ -7,8 +8,10 @@ Astro.response.headers.set("CDN-Cache-Control", "public, max-age=600, stale-whil --- + title="Paperclip-rs" + description="Download Paperclip-rs, our AOT-ready Paper JAR launcher for reduced startup time." + keywords={["papermc", "minecraft", "performance", "paperclip-rs", "downloads", "windows", "linux", "mac"]} + canonical="/downloads/paperclip-rs" +> + + diff --git a/src/pages/software/paperclip-rs.astro b/src/pages/software/paperclip-rs.astro new file mode 100644 index 00000000..77429686 --- /dev/null +++ b/src/pages/software/paperclip-rs.astro @@ -0,0 +1,32 @@ +--- +import Layout from "@/layouts/Layout.astro"; +import SoftwareHeader from "@/components/layout/SoftwareHeader.astro"; +import FeatureCard from "@/components/data/FeatureCard.astro"; +import Button from "@/components/input/Button.astro"; + +import HomeImage1 from "@/assets/images/home-1.png"; +import HomeImage3 from "@/assets/images/home-3.png"; +import CommunityImage from "@/assets/images/community.png"; + +import { Image } from "astro:assets"; + +import { getHangarProjects } from "@/utils/hangar"; + +const { pagination } = await getHangarProjects("paper"); +--- + + + +

+ Improved startup-time
for Paper +

+

+ Paperclip-rs is our AOT-ready Paper JAR launcher for reduced startup time. +

+
+
From 0f3bb34455a5e4d8e2e80014d96fd684ee272fd6 Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sun, 2 Aug 2026 01:03:23 +0200 Subject: [PATCH 3/7] Add OS and cpu detection --- bun.lock | 18 ++++ package.json | 6 ++ src/components/data/DropdownSelect.svelte | 70 ++++++++++++++ ...velte => PaperclipRsDownloadButton.svelte} | 32 +++---- .../data/PaperclipRsDownloadPage.svelte | 93 +++++++++++++++++++ .../data/SoftwareGitHubDownloadPage.svelte | 78 ---------------- src/pages/downloads/paperclip-rs.astro | 4 +- src/pages/software/paperclip-rs.astro | 4 +- 8 files changed, 206 insertions(+), 99 deletions(-) create mode 100644 src/components/data/DropdownSelect.svelte rename src/components/data/{SoftwareGitHubDownloadButton.svelte => PaperclipRsDownloadButton.svelte} (90%) create mode 100644 src/components/data/PaperclipRsDownloadPage.svelte delete mode 100644 src/components/data/SoftwareGitHubDownloadPage.svelte diff --git a/bun.lock b/bun.lock index b116d756..69fe4dd7 100644 --- a/bun.lock +++ b/bun.lock @@ -9,6 +9,12 @@ "@astrojs/sitemap": "3.7.3", "@astrojs/svelte": "9.0.1", "@fontsource/poppins": "5.2.7", + "@iconify-json/file-icons": "^1.2.2", + "@iconify-json/flowbite": "^1.2.7", + "@iconify-json/griddy-icons": "^1.2.0", + "@iconify-json/mdi": "^1.2.3", + "@iconify-json/tabler": "^1.2.38", + "@iconify-json/wpf": "^1.2.0", "@tailwindcss/vite": "4.3.3", "astro": "7.1.1", "astro-iconset": "^0.0.6", @@ -224,6 +230,18 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + "@iconify-json/file-icons": ["@iconify-json/file-icons@1.2.2", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-ajk44wYGTiu79EAyrfNHNaxZ1/2Z1xuSOAvYUT/pAPWHc+P6n9TUZP/ccnPG18kx0WMBxmkHHQ9/zkm6ENhk+Q=="], + + "@iconify-json/flowbite": ["@iconify-json/flowbite@1.2.7", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-YmjHMSe6zBWI6XMZ35OGxgkX9k0lMiKmJIYOOymhc8rEiVbtZnnujJnGrfTider1JOoArQcCJzhHH6hUoXgiYA=="], + + "@iconify-json/griddy-icons": ["@iconify-json/griddy-icons@1.2.0", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-C3AdVCAC9WrUNFSmyljsiH59CuyOqUfALsanzD4dO0VOHt4Fz0sttDSeayiSap8u8uACeq8WMZ1KZAmMusuf9w=="], + + "@iconify-json/mdi": ["@iconify-json/mdi@1.2.3", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg=="], + + "@iconify-json/tabler": ["@iconify-json/tabler@1.2.38", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-9v6ooRU/bKOK/Whv4w2aiK5gBnfCV9Ei+uD1iDDeLu2b+EnF3G3ZKkRKWEOOLG8bJyfKn6XEia6gUQ9oO7cF+Q=="], + + "@iconify-json/wpf": ["@iconify-json/wpf@1.2.0", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-sA5z2Fy0rh6+wSMlXpj5Of4oRXZTn84zQFo2yWTtjbN5WTrH52iJrT4KLmepnF8l5VAsf+WbeXsQLFFhlVeDFA=="], + "@iconify/tools": ["@iconify/tools@5.0.12", "", { "dependencies": { "@cyberalien/svg-utils": "^1.2.15", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.3", "fflate": "^0.8.3", "modern-tar": "^0.7.6", "pathe": "^2.0.3", "svgo": "^4.0.1" } }, "sha512-aFPwSFmFphUPVjNLUkgxgUPSPVgTEEjv0mE7NgvfoQBuE5TtsMrKa4HTY65cM5oXZ2a1xKQcW/RKhiOKEiAarw=="], "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="], diff --git a/package.json b/package.json index b5183957..e8c47e57 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,12 @@ "@astrojs/sitemap": "3.7.3", "@astrojs/svelte": "9.0.1", "@fontsource/poppins": "5.2.7", + "@iconify-json/file-icons": "^1.2.2", + "@iconify-json/flowbite": "^1.2.7", + "@iconify-json/griddy-icons": "^1.2.0", + "@iconify-json/mdi": "^1.2.3", + "@iconify-json/tabler": "^1.2.38", + "@iconify-json/wpf": "^1.2.0", "@tailwindcss/vite": "4.3.3", "astro": "7.1.1", "astro-iconset": "^0.0.6", diff --git a/src/components/data/DropdownSelect.svelte b/src/components/data/DropdownSelect.svelte new file mode 100644 index 00000000..a5ca4695 --- /dev/null +++ b/src/components/data/DropdownSelect.svelte @@ -0,0 +1,70 @@ + + + + +
+ + + {#if dropDown} +
+ {#each options as option (option.name)} + + {/each} +
+ {/if} +
diff --git a/src/components/data/SoftwareGitHubDownloadButton.svelte b/src/components/data/PaperclipRsDownloadButton.svelte similarity index 90% rename from src/components/data/SoftwareGitHubDownloadButton.svelte rename to src/components/data/PaperclipRsDownloadButton.svelte index 73d1abaa..b094f602 100644 --- a/src/components/data/SoftwareGitHubDownloadButton.svelte +++ b/src/components/data/PaperclipRsDownloadButton.svelte @@ -91,23 +91,23 @@ diff --git a/src/components/data/PaperclipRsDownloadPage.svelte b/src/components/data/PaperclipRsDownloadPage.svelte new file mode 100644 index 00000000..4ac42f13 --- /dev/null +++ b/src/components/data/PaperclipRsDownloadPage.svelte @@ -0,0 +1,93 @@ + + +
+
+
+
+ {#if icon} + Paperclip-rs logo + {/if} +
+

Downloads

+
+ +

+ Get Paperclip-rs + {version} +

+ +

Before downloading, ensure your operating system and CPU architecture match!

+ +
+ Currently selected: + + on + +
+ +
+ +
+ +
+ +
+ + +
+
diff --git a/src/components/data/SoftwareGitHubDownloadPage.svelte b/src/components/data/SoftwareGitHubDownloadPage.svelte deleted file mode 100644 index 04592d94..00000000 --- a/src/components/data/SoftwareGitHubDownloadPage.svelte +++ /dev/null @@ -1,78 +0,0 @@ - - -
-
-
-
- {#if project.icon} - {`${project.name} - {/if} -
-

Downloads

-
- -

- Get {project.name} - {version} -

- -

- {#if Description} - {@render Description()} - {:else if typeof description === "string"} - {@html description} - {/if} -

- -
- -
- -
- -
- - -
-
- diff --git a/src/pages/downloads/paperclip-rs.astro b/src/pages/downloads/paperclip-rs.astro index 8ef76095..9c0d5719 100644 --- a/src/pages/downloads/paperclip-rs.astro +++ b/src/pages/downloads/paperclip-rs.astro @@ -1,6 +1,6 @@ --- export const prerender = false; -import SoftwareGitHubDownloadPage from "@/components/data/SoftwareGitHubDownloadPage.svelte"; +import PaperclipRsDownloadPage from "@/components/data/PaperclipRsDownloadPage.svelte"; import Layout from "@/layouts/Layout.astro"; Astro.response.headers.set("Cache-Control", "public, max-age=300, s-maxage=600, stale-while-revalidate=120"); @@ -13,5 +13,5 @@ Astro.response.headers.set("CDN-Cache-Control", "public, max-age=600, stale-whil keywords={["papermc", "minecraft", "performance", "paperclip-rs", "downloads", "windows", "linux", "mac"]} canonical="/downloads/paperclip-rs" > - +
diff --git a/src/pages/software/paperclip-rs.astro b/src/pages/software/paperclip-rs.astro index 77429686..68e193bf 100644 --- a/src/pages/software/paperclip-rs.astro +++ b/src/pages/software/paperclip-rs.astro @@ -25,8 +25,6 @@ const { pagination } = await getHangarProjects("paper");

Improved startup-time
for Paper

-

- Paperclip-rs is our AOT-ready Paper JAR launcher for reduced startup time. -

+

Paperclip-rs is our AOT-ready Paper JAR launcher for reduced startup time.

From 066ba31b6f04fe188aca126e8be664ed0a8a8dbe Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sun, 2 Aug 2026 01:13:31 +0200 Subject: [PATCH 4/7] Add to downloads page index --- src/pages/downloads/index.astro | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pages/downloads/index.astro b/src/pages/downloads/index.astro index b76c6417..203bb630 100644 --- a/src/pages/downloads/index.astro +++ b/src/pages/downloads/index.astro @@ -49,5 +49,15 @@ import Layout from "@/layouts/Layout.astro"; eol /> +

Misc

+
+ +
From f292d6a48b97b34589f538f845f98d720755f6f4 Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sun, 2 Aug 2026 01:15:22 +0200 Subject: [PATCH 5/7] Fix lint issues --- .../data/PaperclipRsDownloadButton.svelte | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/src/components/data/PaperclipRsDownloadButton.svelte b/src/components/data/PaperclipRsDownloadButton.svelte index b094f602..ce86d0b9 100644 --- a/src/components/data/PaperclipRsDownloadButton.svelte +++ b/src/components/data/PaperclipRsDownloadButton.svelte @@ -89,25 +89,3 @@ - - From 324ce86cb1a85ad809c7189449b77ca2f4a9034b Mon Sep 17 00:00:00 2001 From: Strokkur24 Date: Sun, 2 Aug 2026 21:33:16 +0200 Subject: [PATCH 6/7] Rebrand to Tack --- ...dButton.svelte => TackDownloadButton.svelte} | 0 ...nloadPage.svelte => TackDownloadPage.svelte} | 11 +++++------ src/components/layout/NavBar.astro | 2 +- src/pages/downloads/index.astro | 8 ++++---- src/pages/downloads/paperclip-rs.astro | 17 ----------------- src/pages/downloads/tack.astro | 17 +++++++++++++++++ .../software/{paperclip-rs.astro => tack.astro} | 12 ++++++------ 7 files changed, 33 insertions(+), 34 deletions(-) rename src/components/data/{PaperclipRsDownloadButton.svelte => TackDownloadButton.svelte} (100%) rename src/components/data/{PaperclipRsDownloadPage.svelte => TackDownloadPage.svelte} (88%) delete mode 100644 src/pages/downloads/paperclip-rs.astro create mode 100644 src/pages/downloads/tack.astro rename src/pages/software/{paperclip-rs.astro => tack.astro} (62%) diff --git a/src/components/data/PaperclipRsDownloadButton.svelte b/src/components/data/TackDownloadButton.svelte similarity index 100% rename from src/components/data/PaperclipRsDownloadButton.svelte rename to src/components/data/TackDownloadButton.svelte diff --git a/src/components/data/PaperclipRsDownloadPage.svelte b/src/components/data/TackDownloadPage.svelte similarity index 88% rename from src/components/data/PaperclipRsDownloadPage.svelte rename to src/components/data/TackDownloadPage.svelte index 4ac42f13..0c04eae1 100644 --- a/src/components/data/PaperclipRsDownloadPage.svelte +++ b/src/components/data/TackDownloadPage.svelte @@ -1,7 +1,8 @@