godoc/static: dynamically adjust install instructions for a given download
This change allows the download page to redirect the user to /doc/install?download=filename so the user can see installation instructions specific to the file they are downloading. This is related to this change to the core repo: https://golang.org/cl/13151 Change-Id: Ia81344ed913aea1d1a4deed021c0e07f7360ff68 Reviewed-on: https://go-review.googlesource.com/13180 Reviewed-by: Chris Broadfoot <cbro@golang.org>
This commit is contained in:
parent
bbc4202318
commit
46829bf9ce
|
@ -245,6 +245,44 @@ function toggleHash() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function personalizeInstallInstructions() {
|
||||||
|
var prefix = '?download=';
|
||||||
|
var s = window.location.search;
|
||||||
|
if (!s.startsWith(prefix)) {
|
||||||
|
// No 'download' query string; bail.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var filename = s.substr(prefix.length);
|
||||||
|
var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)-([a-z0-9]+)\.(.+)$/
|
||||||
|
$('.downloadFilename').text(filename);
|
||||||
|
$('.hideFromDownload').hide();
|
||||||
|
var m = filenameRE.exec(filename);
|
||||||
|
if (!m) {
|
||||||
|
// Can't interpret file name; bail.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var os = m[3];
|
||||||
|
var ext = m[5];
|
||||||
|
if (ext != 'tar.gz') {
|
||||||
|
$('#tarballInstructions').hide();
|
||||||
|
}
|
||||||
|
if (os != 'darwin' || ext != 'pkg') {
|
||||||
|
$('#darwinPackageInstructions').hide();
|
||||||
|
}
|
||||||
|
if (os != 'windows') {
|
||||||
|
$('#windowsInstructions').hide();
|
||||||
|
} else {
|
||||||
|
if (ext != 'msi') {
|
||||||
|
$('#windowsInstallerInstructions').hide();
|
||||||
|
}
|
||||||
|
if (ext != 'zip') {
|
||||||
|
$('#windowsZipInstructions').hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
bindSearchEvents();
|
bindSearchEvents();
|
||||||
generateTOC();
|
generateTOC();
|
||||||
|
@ -260,6 +298,7 @@ $(document).ready(function() {
|
||||||
setupTypeInfo();
|
setupTypeInfo();
|
||||||
setupCallgraphs();
|
setupCallgraphs();
|
||||||
toggleHash();
|
toggleHash();
|
||||||
|
personalizeInstallInstructions();
|
||||||
|
|
||||||
// godoc.html defines window.initFuncs in the <head> tag, and root.html and
|
// godoc.html defines window.initFuncs in the <head> tag, and root.html and
|
||||||
// codewalk.js push their on-page-ready functions to the list.
|
// codewalk.js push their on-page-ready functions to the list.
|
||||||
|
|
|
@ -810,6 +810,44 @@ function toggleHash() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function personalizeInstallInstructions() {
|
||||||
|
var prefix = '?download=';
|
||||||
|
var s = window.location.search;
|
||||||
|
if (!s.startsWith(prefix)) {
|
||||||
|
// No 'download' query string; bail.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var filename = s.substr(prefix.length);
|
||||||
|
var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)-([a-z0-9]+)\.(.+)$/
|
||||||
|
$('.downloadFilename').text(filename);
|
||||||
|
$('.hideFromDownload').hide();
|
||||||
|
var m = filenameRE.exec(filename);
|
||||||
|
if (!m) {
|
||||||
|
// Can't interpret file name; bail.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var os = m[3];
|
||||||
|
var ext = m[5];
|
||||||
|
if (ext != 'tar.gz') {
|
||||||
|
$('#tarballInstructions').hide();
|
||||||
|
}
|
||||||
|
if (os != 'darwin' || ext != 'pkg') {
|
||||||
|
$('#darwinPackageInstructions').hide();
|
||||||
|
}
|
||||||
|
if (os != 'windows') {
|
||||||
|
$('#windowsInstructions').hide();
|
||||||
|
} else {
|
||||||
|
if (ext != 'msi') {
|
||||||
|
$('#windowsInstallerInstructions').hide();
|
||||||
|
}
|
||||||
|
if (ext != 'zip') {
|
||||||
|
$('#windowsZipInstructions').hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
bindSearchEvents();
|
bindSearchEvents();
|
||||||
generateTOC();
|
generateTOC();
|
||||||
|
@ -825,6 +863,7 @@ $(document).ready(function() {
|
||||||
setupTypeInfo();
|
setupTypeInfo();
|
||||||
setupCallgraphs();
|
setupCallgraphs();
|
||||||
toggleHash();
|
toggleHash();
|
||||||
|
personalizeInstallInstructions();
|
||||||
|
|
||||||
// godoc.html defines window.initFuncs in the <head> tag, and root.html and
|
// godoc.html defines window.initFuncs in the <head> tag, and root.html and
|
||||||
// codewalk.js push their on-page-ready functions to the list.
|
// codewalk.js push their on-page-ready functions to the list.
|
||||||
|
|
Loading…
Reference in New Issue