diff options
author | Andrew Gerrand <adg@golang.org> | 2015-09-01 22:26:20 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2015-09-01 22:26:20 +0000 |
commit | 77cd3cba62016621705b5986a1b93f1b772449a7 (patch) | |
tree | 443633d9df48ebabd9f86e8620ca84fc5c867113 | |
parent | 23e833b3b21720316e883d4d9e52c4b4e6736fb0 (diff) | |
parent | 46829bf9ceb11ec1aae81c0acc62f59c5a27b1e5 (diff) | |
download | tools-77cd3cba62016621705b5986a1b93f1b772449a7.tar.gz |
godoc/static: dynamically adjust install instructions for a given download
automerge: 46829bf
* commit '46829bf9ceb11ec1aae81c0acc62f59c5a27b1e5':
godoc/static: dynamically adjust install instructions for a given download
-rw-r--r-- | godoc/static/godocs.js | 39 | ||||
-rw-r--r-- | godoc/static/static.go | 39 |
2 files changed, 78 insertions, 0 deletions
diff --git a/godoc/static/godocs.js b/godoc/static/godocs.js index 27d2699..eee508d 100644 --- a/godoc/static/godocs.js +++ b/godoc/static/godocs.js @@ -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() { bindSearchEvents(); generateTOC(); @@ -260,6 +298,7 @@ $(document).ready(function() { setupTypeInfo(); setupCallgraphs(); toggleHash(); + personalizeInstallInstructions(); // godoc.html defines window.initFuncs in the <head> tag, and root.html and // codewalk.js push their on-page-ready functions to the list. diff --git a/godoc/static/static.go b/godoc/static/static.go index 5c42fd0..49d5420 100644 --- a/godoc/static/static.go +++ b/godoc/static/static.go @@ -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() { bindSearchEvents(); generateTOC(); @@ -825,6 +863,7 @@ $(document).ready(function() { setupTypeInfo(); setupCallgraphs(); toggleHash(); + personalizeInstallInstructions(); // godoc.html defines window.initFuncs in the <head> tag, and root.html and // codewalk.js push their on-page-ready functions to the list. |