Skip to content

Commit 00f1c7b

Browse files
committed
Add support for experimental release on main page
1 parent f34935c commit 00f1c7b

File tree

3 files changed

+123
-75
lines changed

3 files changed

+123
-75
lines changed

css/style.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ header nav {
123123
}
124124

125125
#main {
126-
clear: both; height: 650px; overflow: hidden; margin: 0;
126+
clear: both; height: 800px; overflow: hidden; margin: 0;
127127
color: #D0D0D0;
128128
padding-top: 70px;
129129
background: #505050;
@@ -534,7 +534,7 @@ footer {
534534
-moz-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
535535
-webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
536536
}
537-
.download_section a.pre_download_url, .download_section a.pre_download_url{
537+
.download_section a.pre_download_url, .download_section a.experimental_download_url{
538538
color: white;
539539
padding: 8px 16px;
540540
margin: 8px;

index.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,13 @@ <h2>Disclaimer</h2>
127127
</span>
128128
</div>
129129
<!-- [PRE-RELEASE:END] -->
130-
<div id="release_dlcount">Total Downloads: <span id="total_downloads_all_versions">...</span></div>
130+
<!-- [EXPERIMENTAL-RELEASE:START] -->
131+
<div id="experimental_release"><br/>Or try our Experimental version!<br/>
132+
<a id="experimental_release_download_url" class="experimental_download_url" href="download.html">Download Tribler Experimental</a><br/>
133+
<span>Less Stable, Download speed upto 160Mbps, Bleeding edge features</span>
134+
</div>
135+
<!-- [EXPERIMENTAL-RELEASE:END] -->
136+
<!--<div id="release_dlcount">Total Downloads: <span id="total_downloads_all_versions">...</span></div>-->
131137
</div>
132138

133139
</div>

js/tribler.js

Lines changed: 114 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,86 @@
1-
$(document).ready(function() {
2-
pagename = location.href.substring(location.href.lastIndexOf('/')+1);
3-
if(pagename == "linux.html") {
1+
$(document).ready(function () {
2+
pagename = location.href.substring(location.href.lastIndexOf('/') + 1);
3+
if (pagename == "linux.html") {
44
$("#debian-install-code").hide()
5-
}
6-
else if(pagename == "download.html") {
5+
} else if (pagename == "download.html") {
76
$(".downloads-content").hide()
87
}
98
$("#pre_release").hide();
109

11-
function update_page(stablerelease, prevrelease, prerelease){
10+
function update_page(stablerelease, prevrelease, prerelease, experimental_release) {
1211
// find the right assets in the stable release
13-
windows64_url = undefined;
14-
windows32_url = undefined;
15-
mac_url = undefined;
16-
linux_url = undefined;
17-
linux_file_name = undefined;
18-
source_url = undefined;
19-
$.each(stablerelease["assets"], function(index, asset) {
20-
if(asset["name"].endsWith(".dmg")) {
12+
let windows64_url = undefined;
13+
let windows32_url = undefined;
14+
let mac_url = undefined;
15+
let linux_url = undefined;
16+
let linux_file_name = undefined;
17+
let source_url = undefined;
18+
$.each(stablerelease["assets"], function (index, asset) {
19+
if (asset["name"].endsWith(".dmg")) {
2120
mac_url = asset["browser_download_url"];
22-
}
23-
else if(asset["name"].endsWith(".deb")) {
21+
} else if (asset["name"].endsWith(".deb")) {
2422
linux_url = asset["browser_download_url"];
2523
linux_file_name = asset["name"];
26-
}
27-
else if(asset["name"].endsWith("x86.exe")) {
24+
} else if (asset["name"].endsWith("x86.exe")) {
2825
windows32_url = asset["browser_download_url"];
29-
}
30-
else if(asset["name"].endsWith("x64.exe")) {
26+
} else if (asset["name"].endsWith("x64.exe")) {
3127
windows64_url = asset["browser_download_url"];
32-
}
33-
else if(asset["name"].endsWith("tar.xz")) {
28+
} else if (asset["name"].endsWith("tar.xz")) {
3429
source_url = asset["browser_download_url"];
3530
}
3631
});
3732

3833
// find the right assets in the prerelease
39-
pre_windows64_url = undefined;
40-
pre_windows32_url = undefined;
41-
pre_mac_url = undefined;
42-
pre_linux_url = undefined;
43-
pre_linux_file_name = undefined;
44-
pre_source_url = undefined;
45-
if(prerelease != undefined){
34+
let pre_windows64_url = undefined;
35+
let pre_windows32_url = undefined;
36+
let pre_mac_url = undefined;
37+
let pre_linux_url = undefined;
38+
let pre_linux_file_name = undefined;
39+
let pre_source_url = undefined;
40+
if (prerelease != undefined) {
4641
$("#pre_release").show();
47-
$.each(prerelease["assets"], function(index, asset) {
48-
if(asset["name"].endsWith(".dmg")) {
42+
$.each(prerelease["assets"], function (index, asset) {
43+
if (asset["name"].endsWith(".dmg")) {
4944
pre_mac_url = asset["browser_download_url"];
50-
}
51-
else if(asset["name"].endsWith(".deb")) {
45+
} else if (asset["name"].endsWith(".deb")) {
5246
pre_linux_url = asset["browser_download_url"];
5347
pre_linux_file_name = asset["name"];
54-
}
55-
else if(asset["name"].endsWith("x86.exe")) {
48+
} else if (asset["name"].endsWith("x86.exe")) {
5649
pre_windows32_url = asset["browser_download_url"];
57-
}
58-
else if(asset["name"].endsWith("x64.exe")) {
50+
} else if (asset["name"].endsWith("x64.exe")) {
5951
pre_windows64_url = asset["browser_download_url"];
60-
}
61-
else if(asset["name"].endsWith("tar.xz")) {
52+
} else if (asset["name"].endsWith("tar.xz")) {
6253
pre_source_url = asset["browser_download_url"];
6354
}
6455
});
6556
}
6657

67-
if(typeof(isfront) !== 'undefined') {
58+
// find the right assets in the prerelease
59+
let exp_windows64_url = undefined;
60+
let exp_windows32_url = undefined;
61+
let exp_mac_url = undefined;
62+
let exp_linux_url = undefined;
63+
let exp_linux_file_name = undefined;
64+
let exp_source_url = undefined;
65+
if (experimental_release != undefined) {
66+
console.log(experimental_release);
67+
$.each(experimental_release["assets"], function (index, asset) {
68+
if (asset["name"].endsWith(".dmg")) {
69+
exp_mac_url = asset["browser_download_url"];
70+
} else if (asset["name"].endsWith(".deb")) {
71+
exp_linux_url = asset["browser_download_url"];
72+
exp_linux_file_name = asset["name"];
73+
} else if (asset["name"].endsWith("x86.exe")) {
74+
exp_windows32_url = asset["browser_download_url"];
75+
} else if (asset["name"].endsWith("x64.exe")) {
76+
exp_windows64_url = asset["browser_download_url"];
77+
} else if (asset["name"].endsWith("tar.xz")) {
78+
exp_source_url = asset["browser_download_url"];
79+
}
80+
});
81+
}
82+
83+
if (typeof (isfront) !== 'undefined') {
6884
// set download URLs
6985
var parser = new UAParser();
7086
var result = parser.getResult();
@@ -74,29 +90,45 @@ $(document).ready(function() {
7490
$("#main_download_url").attr("href", windows64_url);
7591
$("#pre_release_download_url").attr("href", pre_windows64_url);
7692
$("#footer_download_url").attr("href", windows64_url);
77-
}
78-
else if (osName == "mac os x") {
93+
94+
if(pre_windows64_url != undefined || pre_windows32_url != undefined){
95+
$("#experimental_release").show();
96+
const userAgent = navigator.userAgent;
97+
if (userAgent.indexOf("WOW64") !== -1 || userAgent.indexOf("Win64") !== -1) {
98+
$("#experimental_release_download_url").attr("href", exp_windows64_url);
99+
} else {
100+
$("#experimental_release_download_url").attr("href", exp_windows32_url);
101+
}
102+
}
103+
} else if (osName == "mac os x") {
79104
$("#download_os").html("For macOS (Yosemite or later)");
80105
$("#main_download_url").attr("href", mac_url);
81106
$("#pre_release_download_url").attr("href", pre_mac_url);
82107
$("#footer_download_url").attr("href", mac_url);
83-
}
84-
else if (jQuery.inArray(osName, new Array('kubuntu', 'xubuntu', 'lubuntu', 'ubuntu', 'gentoo', 'fedora', 'mandriva', 'redhat', 'suse', 'debian', 'slackware', 'arch', 'linux')) !== -1) {
108+
109+
if(pre_mac_url != undefined){
110+
$("#experimental_release").show();
111+
$("#experimental_release_download_url").attr("href", exp_mac_url);
112+
}
113+
} else if (jQuery.inArray(osName, new Array('kubuntu', 'xubuntu', 'lubuntu', 'ubuntu', 'gentoo', 'fedora', 'mandriva', 'redhat', 'suse', 'debian', 'slackware', 'arch', 'linux')) !== -1) {
85114
$("#download_os").html("For Linux");
86115
$("#main_download_url").attr("href", linux_url);
87116
$("#pre_release_download_url").attr("href", pre_linux_url);
88117
$("#footer_download_url").attr("href", linux_url);
89118
$("#instructions").html("Installation instructions for Linux");
90119
$("#instructions").css("display", "block");
91120
$("#instructions").attr("href", "./linux.html");
92-
}
93-
else {
121+
122+
if(pre_linux_url != undefined){
123+
$("#experimental_release").show();
124+
$("#experimental_release_download_url").attr("href", exp_linux_url);
125+
}
126+
} else {
94127
$("#download_os").html("Unknown OS");
95-
$("#main_download_url").attr("href","download.html");
96-
$("#footer_download_url").attr("href","download.html");
128+
$("#main_download_url").attr("href", "download.html");
129+
$("#footer_download_url").attr("href", "download.html");
97130
}
98-
}
99-
else if(pagename == "linux.html") {
131+
} else if (pagename == "linux.html") {
100132
$("#linux-content-header").text("Latest release - Tribler " + stablerelease["name"].substring(1));
101133
$("#debian-download-url").attr("href", linux_url);
102134
$("#debian-download-url").text("Download " + stablerelease["name"].substring(1));
@@ -106,8 +138,7 @@ $(document).ready(function() {
106138
$("#debian-install-code-url").text(linux_url);
107139
$("#debian-install-code-file").text("./" + linux_file_name);
108140
$("#debian-install-code").show();
109-
}
110-
else if(pagename == "download.html") {
141+
} else if (pagename == "download.html") {
111142
$("#download-url-win64").attr("href", windows64_url);
112143
$("#download-url-win32").attr("href", windows32_url);
113144
$("#download-url-mac").attr("href", mac_url);
@@ -121,29 +152,39 @@ $(document).ready(function() {
121152

122153
// Fetch the first release page of the API to show the latest stable release.
123154
$.get("https://api.github.com/repos/Tribler/tribler/releases", function (data) {
124-
var stablerelease = undefined;
125-
var prevrelease = undefined;
126-
var prerelease = undefined;
127-
$.each(data, function (index, release) {
128-
if (index==0 && release["prerelease"] && !prerelease) {
129-
// we found a prerelease;
130-
prerelease = release;
131-
$("#pre_release_download_url").text("Download Tribler " + release["name"].substring(1));
132-
}
133-
if (!release["prerelease"] && !stablerelease) {
134-
// we found a stable release; update fields
135-
stablerelease = release;
136-
$("#main_download_url").text("Download Tribler " + release["name"].substring(1) + " (stable)");
137-
$("#footer_download_url").text("Download Tribler " + release["name"].substring(1) + " (stable)");
138-
}
139-
else if(!release["prerelease"] && !prevrelease && stablerelease) {
140-
prevrelease = release;
141-
}
142-
});
143-
update_page(stablerelease, prevrelease, prerelease);
155+
var stablerelease = undefined;
156+
var prevrelease = undefined;
157+
var prerelease = undefined;
158+
$.each(data, function (index, release) {
159+
if (index == 0 && release["prerelease"] && !prerelease) {
160+
// we found a prerelease;
161+
prerelease = release;
162+
$("#pre_release_download_url").text("Download Tribler " + release["name"].substring(1));
163+
}
164+
if (!release["prerelease"] && !stablerelease) {
165+
// we found a stable release; update fields
166+
stablerelease = release;
167+
$("#main_download_url").text("Download Tribler " + release["name"].substring(1) + " (stable)");
168+
$("#footer_download_url").text("Download Tribler " + release["name"].substring(1) + " (stable)");
169+
} else if (!release["prerelease"] && !prevrelease && stablerelease) {
170+
prevrelease = release;
171+
}
172+
});
173+
174+
// Fetch experimental release
175+
let experimental_release = undefined;
176+
$.get("https://api.github.com/repos/qstokkink/TriblerExperimental/releases", function (data) {
177+
experimental_release = data[0];
178+
update_page(stablerelease, prevrelease, prerelease, experimental_release);
144179
});
145180

181+
update_page(stablerelease, prevrelease, prerelease, experimental_release);
182+
});
183+
146184
// Fetch all the releases from the API and get aggregate sum of downloads.
185+
/* Commenting out the following code because this code can sometimes cause GH API to timeout
186+
* in which case we cannot show the proper download URL as well*/
187+
/*
147188
var releases_page = 1;
148189
var max_page = 10;
149190
var next_page_exists = true;
@@ -160,5 +201,6 @@ $(document).ready(function() {
160201
});
161202
releases_page += 1
162203
}while(next_page_exists && releases_page < max_page);
204+
*/
163205

164206
});

0 commit comments

Comments
 (0)