mirror of
https://github.com/golang/go
synced 2024-11-11 19:51:37 -07:00
a8730cd93a
In the case where requests are coming from mainland China, hide links to locations that are blocked and functionality that is not permitted. Additionally, some very small cleanup of the JS. This change requires https://go-review.googlesource.com/c/52873 Change-Id: I7fc68748e629dbe5b966d6bf117e7f7b546966eb Reviewed-on: https://go-review.googlesource.com/52872 Reviewed-by: Chris Broadfoot <cbro@golang.org>
162 lines
4.2 KiB
HTML
162 lines
4.2 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="https://golang.org/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>
|
|
<iframe width="415" height="241" src="//www.youtube.com/embed/ytEkHepK08c" frameborder="0" allowfullscreen></iframe>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
<div {{if not $.GoogleCN}}class="right"{{end}}>
|
|
<div id="blog">
|
|
<div class="rootHeading">Featured articles</div>
|
|
<div class="read"><a href="//blog.golang.org/">Read more</a></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div style="clear: both;"></div>
|
|
|
|
<script>
|
|
(function() {
|
|
'use strict';
|
|
|
|
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() {
|
|
// 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()
|
|
}
|
|
|
|
// Load blog feed.
|
|
$('<script/>').attr('text', 'text/javascript')
|
|
.attr('src', '//blog.golang.org/.json?jsonp=feedLoaded')
|
|
.appendTo('body');
|
|
});
|
|
|
|
{{if not $.GoogleCN}}
|
|
|
|
window.initFuncs.push(function() {
|
|
// 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);
|
|
});
|
|
|
|
{{end}}
|
|
})();
|
|
</script>
|