diff --git a/.gitignore b/.gitignore
index 97be2857d..67add13a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -143,6 +143,9 @@ storybook-static/
# End of https://www.toptal.com/developers/gitignore/api/vscode,nuxtjs,node
+# webstorm
+.idea/*
+
# Automatically generated files
apollo/gql.ts
apollo/graphql.ts
diff --git a/components/DownloadButton.vue b/components/DownloadButton.vue
new file mode 100644
index 000000000..04f0bbcc8
--- /dev/null
+++ b/components/DownloadButton.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
diff --git a/components/LandingPageDownload.client.vue b/components/LandingPageDownload.client.vue
index 6482c898d..9a2d0c297 100644
--- a/components/LandingPageDownload.client.vue
+++ b/components/LandingPageDownload.client.vue
@@ -10,17 +10,55 @@
JabRef is free and works across all your devices.
@@ -30,7 +68,7 @@
Also available for
mac OS X and Linux
@@ -41,7 +79,7 @@
Also available for
Windows and Linux
@@ -52,7 +90,7 @@
Also available for
mac OS X and Windows
@@ -77,6 +115,4 @@
diff --git a/composables/downloads.ts b/composables/downloads.ts
index af281a1f9..692e4a946 100644
--- a/composables/downloads.ts
+++ b/composables/downloads.ts
@@ -4,9 +4,9 @@ export function constructDownloadUrl(): string {
if (os) {
osSuffix =
{
- windows: 'win',
- mac: 'mac',
- linux: 'linux',
+ windows: 'win_msi',
+ mac: 'mac_arm64_dmg',
+ linux: 'linux_deb',
}[os] || ''
}
return `/download/${osSuffix}`
diff --git a/pages/download/[[os]].vue b/pages/download/[[os]].vue
index 91abf387b..8719fdae5 100644
--- a/pages/download/[[os]].vue
+++ b/pages/download/[[os]].vue
@@ -20,17 +20,37 @@ definePageMeta({
layout: false,
middleware: async (to) => {
- let downloadUrl = 'https://www.fosshub.com/JabRef.html'
const os = to.params.os as string | undefined
- if (os && ['win', 'mac', 'linux'].includes(os)) {
+ let downloadUrl = `https://github.com/JabRef/jabref/releases/download/`
+ if (
+ os &&
+ [
+ 'win_msi',
+ 'win_zip',
+ 'mac_arm64_dmg',
+ 'mac_arm64_pkg',
+ 'mac_x86_64_dmg',
+ 'mac_x86_64_pkg',
+ 'linux_deb',
+ 'linux_rpm',
+ 'linux_tar_gz',
+ ].includes(os)
+ ) {
const { data } = await useFetch('/api/getLatestRelease')
const latestRelease = data.value?.version
+ downloadUrl += `v${latestRelease}`
if (latestRelease) {
downloadUrl +=
{
- win: `?dwl=JabRef-${latestRelease}.msi`,
- mac: `?dwl=JabRef-${latestRelease}.pkg`,
- linux: `?dwl=jabref_${latestRelease}_amd64.deb`,
+ win_msi: `/JabRef-${latestRelease}.msi`,
+ win_zip: `/JabRef-${latestRelease}-portable_windows.zip`,
+ mac_arm64_dmg: `/JabRef-${latestRelease}-arm64.dmg`,
+ mac_arm64_pkg: `/JabRef-${latestRelease}-arm64.pkg`,
+ mac_x86_64_dmg: `/JabRef-${latestRelease}.dmg`,
+ mac_x86_64_pkg: `/JabRef-${latestRelease}.pkg`,
+ linux_deb: `/jabref_${latestRelease}_amd64.deb`,
+ linux_rpm: `/jabref-${latestRelease}-1.x86_64.rpm`,
+ linux_tar_gz: `/JabRef-${latestRelease}-portable_linux.tar.gz`,
}[os] ?? ''
}
}
@@ -38,5 +58,5 @@ definePageMeta({
return await navigateTo(downloadUrl, { external: true })
},
})
-const downloadUrl = 'https://www.fosshub.com/JabRef.html'
+const downloadUrl = `https://github.com/JabRef/jabref/releases/download/`
diff --git a/pages/index.vue b/pages/index.vue
index 751c64160..d3c15ee9c 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -77,7 +77,7 @@
Download JabRef
@@ -97,7 +97,6 @@