mirror of
https://github.com/golang/go
synced 2024-11-26 21:51:44 -07:00
d96221f206
The videos on the front page are always the same width, regardless of the viewport width. These changes let the video fill the space given to its container regardless of layout. It uses the standard hack for making iframes responsive, but the videos are loaded at random and do not have uniform aspect ratios so that information is injected into the DOM using custom properties. If these are not supported, it falls back to the same layout present before this change. Note: this change also requires CL 108678 to complete the fix, though either CL without the other is harmless. Updates #24997. Change-Id: I2f93dc21ffe01d99ce0e175e9dd0e3d486fddc9f Reviewed-on: https://go-review.googlesource.com/108677 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
165 lines
4.4 KiB
HTML
165 lines
4.4 KiB
HTML
<!--{
|
|
"Path": "/",
|
|
"Template": true
|
|
}-->
|
|
|
|
<div class="left">
|
|
|
|
<div id="learn">
|
|
{{if not $.GoogleCN}}
|
|
<a class="popout share">Pop-out</a>
|
|
{{end}}
|
|
<div class="rootHeading">Try Go</div>
|
|
<div class="input">
|
|
<textarea spellcheck="false" class="code">// You can edit this code!
|
|
// Click here and start typing.
|
|
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
fmt.Println("Hello, 世界")
|
|
}</textarea>
|
|
</div>
|
|
<div class="output">
|
|
<pre>
|
|
Hello, 世界
|
|
</pre>
|
|
</div>
|
|
<div class="buttons">
|
|
<a class="run" href="#" title="Run this code [shift-enter]">Run</a>
|
|
{{if not $.GoogleCN}}
|
|
<a class="share" href="#" title="Share this code">Share</a>
|
|
<a class="tour" href="//tour.golang.org/" title="Learn Go from your browser">Tour</a>
|
|
{{end}}
|
|
</div>
|
|
<div class="toys">
|
|
<select>
|
|
<option value="hello.go">Hello, World!</option>
|
|
<option value="life.go">Conway's Game of Life</option>
|
|
<option value="fib.go">Fibonacci Closure</option>
|
|
<option value="peano.go">Peano Integers</option>
|
|
<option value="pi.go">Concurrent pi</option>
|
|
<option value="sieve.go">Concurrent Prime Sieve</option>
|
|
<option value="solitaire.go">Peg Solitaire Solver</option>
|
|
<option value="tree.go">Tree Comparison</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="right">
|
|
|
|
<div id="about">
|
|
Go is an open source programming language that makes it easy to build
|
|
simple, reliable, and efficient software.
|
|
</div>
|
|
|
|
<div id="gopher"></div>
|
|
|
|
<a href="/dl/" id="start">
|
|
<span class="big">Download Go</span>
|
|
<span class="desc">
|
|
Binary distributions available for<br>
|
|
Linux, Mac OS X, Windows, and more.
|
|
</span>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div style="clear: both"></div>
|
|
|
|
{{if not $.GoogleCN}}
|
|
<div class="left">
|
|
<div id="video">
|
|
<div class="rootHeading">Featured video</div>
|
|
<div class="js-frontpage-video" style="--aspect-ratio-padding: 58.07%;"><iframe width="415" height="241" src="//www.youtube.com/embed/ytEkHepK08c" frameborder="0" allowfullscreen></iframe></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="right">
|
|
<div id="blog">
|
|
<div class="rootHeading">Featured articles</div>
|
|
<div class="read"><a href="//blog.golang.org/">Read more</a></div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
<div style="clear: both;"></div>
|
|
|
|
<script>
|
|
(function() {
|
|
'use strict';
|
|
|
|
window.initFuncs.push(function() {
|
|
// Set up playground if enabled.
|
|
if (window.playground) {
|
|
window.playground({
|
|
"codeEl": "#learn .code",
|
|
"outputEl": "#learn .output",
|
|
"runEl": "#learn .run",
|
|
"shareEl": "#learn .share",
|
|
"shareRedirect": "//play.golang.org/p/",
|
|
"toysEl": "#learn .toys select"
|
|
});
|
|
} else {
|
|
$('#learn').hide()
|
|
}
|
|
});
|
|
|
|
{{if not $.GoogleCN}}
|
|
|
|
function readableTime(t) {
|
|
var m = ["January", "February", "March", "April", "May", "June", "July",
|
|
"August", "September", "October", "November", "December"];
|
|
var p = t.substring(0, t.indexOf("T")).split("-");
|
|
var d = new Date(p[0], p[1]-1, p[2]);
|
|
return d.getDate() + " " + m[d.getMonth()] + " " + d.getFullYear();
|
|
}
|
|
|
|
window.feedLoaded = function(result) {
|
|
var blog = document.getElementById("blog");
|
|
var read = blog.getElementsByClassName("read")[0];
|
|
for (var i = 0; i < result.length && i < 2; i++) {
|
|
var entry = result[i];
|
|
var title = document.createElement("a");
|
|
title.className = "title";
|
|
title.href = entry.Link;
|
|
title.innerHTML = entry.Title;
|
|
blog.insertBefore(title, read);
|
|
var extract = document.createElement("div");
|
|
extract.className = "extract";
|
|
extract.innerHTML = entry.Summary;
|
|
blog.insertBefore(extract, read);
|
|
var when = document.createElement("div");
|
|
when.className = "when";
|
|
when.innerHTML = "Published " + readableTime(entry.Time);
|
|
blog.insertBefore(when, read);
|
|
}
|
|
}
|
|
|
|
window.initFuncs.push(function() {
|
|
// Load blog feed.
|
|
$('<script/>').attr('text', 'text/javascript')
|
|
.attr('src', '//blog.golang.org/.json?jsonp=feedLoaded')
|
|
.appendTo('body');
|
|
|
|
// Set the video at random.
|
|
var videos = [
|
|
{h: 241, s: "//www.youtube.com/embed/ytEkHepK08c"}, // Tour of Go
|
|
{h: 241, s: "//www.youtube.com/embed/f6kdp27TYZs"}, // Concurrency Patterns
|
|
{h: 233, s: "//player.vimeo.com/video/69237265"} // Simple environment
|
|
];
|
|
var v = videos[Math.floor(Math.random()*videos.length)];
|
|
$('#video iframe').attr('height', v.h).attr('src', v.s);
|
|
// Compute the aspect ratio (as a percentage) of the video
|
|
// using the fixed width 415 and the height of the current video, v.h.
|
|
var ar = 100*v.h/415;
|
|
$('.js-frontpage-video').attr('style', '--aspect-ratio-padding: ' + ar + '%;');
|
|
});
|
|
|
|
{{end}}
|
|
})();
|
|
</script>
|