root.html 3.85 KB
Newer Older
1 2 3 4
<!--{
	"Path": "/"
}-->

5
<div class="left">
Andrew Gerrand's avatar
Andrew Gerrand committed
6 7

<div id="learn">
8
<a class="popout share">Pop-out</a>
Andrew Gerrand's avatar
Andrew Gerrand committed
9 10
<div class="rootHeading">Try Go</div>
<div class="input">
11
<textarea spellcheck="false" class="code">// You can edit this code!
Andrew Gerrand's avatar
Andrew Gerrand committed
12 13 14 15 16 17 18 19 20
// Click here and start typing.
package main

import "fmt"

func main() {
	fmt.Println("Hello, 世界")
}</textarea>
</div>
21
<div class="output">
Andrew Gerrand's avatar
Andrew Gerrand committed
22 23 24 25 26
<pre>
Hello, 世界
</pre>
</div>
<div class="buttons">
27 28
<a class="run" href="#" title="Run this code [shift-enter]">Run</a>
<a class="share" href="#" title="Share this code">Share</a>
29
<a class="tour" href="//tour.golang.org/" title="Learn Go from your browser">Tour</a>
30 31 32 33
</div>
<div class="toys">
<select>
	<option value="hello.go">Hello, World!</option>
34
	<option value="life.go">Conway's Game of Life</option>
35 36 37 38 39 40 41
	<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>
Andrew Gerrand's avatar
Andrew Gerrand committed
42 43 44 45 46
</div>
</div>

</div>

47 48 49
<div class="right">

<div id="about">
50
Go is an open source programming language that makes it easy to build
51 52 53 54 55
simple, reliable, and efficient software.
</div>

<div id="gopher"></div>

56
<a href="/doc/install" id="start">
Andrew Gerrand's avatar
Andrew Gerrand committed
57 58
<span class="big">Download Go</span>
<span class="desc">
59 60
Binary distributions available for<br>
Linux, Mac OS X, Windows, and more.
Andrew Gerrand's avatar
Andrew Gerrand committed
61
</span>
62 63 64 65
</a>

</div>

Andrew Gerrand's avatar
Andrew Gerrand committed
66 67
<div style="clear: both"></div>

68
<div class="left">
Andrew Gerrand's avatar
Andrew Gerrand committed
69 70 71

<div id="video">
<div class="rootHeading">Featured video</div>
72
<iframe width="415" height="241" src="//www.youtube.com/embed/ytEkHepK08c" frameborder="0" allowfullscreen></iframe>
Andrew Gerrand's avatar
Andrew Gerrand committed
73 74 75 76
</div>

</div>

77
<div class="right">
Andrew Gerrand's avatar
Andrew Gerrand committed
78 79 80

<div id="blog">
<div class="rootHeading">Featured articles</div>
81
<div class="read"><a href="//blog.golang.org/">Read more</a></div>
Andrew Gerrand's avatar
Andrew Gerrand committed
82 83 84 85 86 87
</div>

</div>

<div style="clear: both;"></div>

Andrew Gerrand's avatar
Andrew Gerrand committed
88
<script type="text/javascript">
89 90 91 92 93 94 95 96

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();
}
97

Andrew Gerrand's avatar
Andrew Gerrand committed
98
function feedLoaded(result) {
Andrew Gerrand's avatar
Andrew Gerrand committed
99 100
	var blog = document.getElementById("blog");
	var read = blog.getElementsByClassName("read")[0];
101 102
	for (var i = 0; i < result.length && i < 2; i++) {
		var entry = result[i];
Andrew Gerrand's avatar
Andrew Gerrand committed
103 104
		var title = document.createElement("a");
		title.className = "title";
105 106
		title.href = entry.Link;
		title.innerHTML = entry.Title;
Andrew Gerrand's avatar
Andrew Gerrand committed
107 108 109
		blog.insertBefore(title, read);
		var extract = document.createElement("div");
		extract.className = "extract";
110
		extract.innerHTML = entry.Summary;
Andrew Gerrand's avatar
Andrew Gerrand committed
111 112 113
		blog.insertBefore(extract, read);
		var when = document.createElement("div");
		when.className = "when";
114
		when.innerHTML = "Published " + readableTime(entry.Time);
Andrew Gerrand's avatar
Andrew Gerrand committed
115 116
		blog.insertBefore(when, read);
	}
Andrew Gerrand's avatar
Andrew Gerrand committed
117 118
}

119
window.initFuncs.push(function() {
120 121 122 123 124 125 126
	// Set up playground if enabled.
	if (window.playground) {
		window.playground({
			"codeEl":        "#learn .code",
			"outputEl":      "#learn .output",
			"runEl":         "#learn .run",
			"shareEl":       "#learn .share",
127
			"shareRedirect": "//play.golang.org/p/",
128 129 130 131 132
			"toysEl":        "#learn .toys select"
		});
	} else {
		$('#learn').hide()
	}
Andrew Gerrand's avatar
Andrew Gerrand committed
133

134 135
	// Load blog feed.
	$('<script/>').attr('text', 'text/javascript')
136
		.attr('src', '//blog.golang.org/.json?jsonp=feedLoaded')
137
		.appendTo('body');
138 139 140 141 142 143 144 145 146

	// 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);
147 148
});

Andrew Gerrand's avatar
Andrew Gerrand committed
149
</script>