blob: 8d1ff70f2eb5f84cde8cbb5e7d7a9389c3c4e626 [file] [log] [blame]
{{/* This template is combined with other templates to render blog pages. */}}
{{define "root"}}
<!DOCTYPE html>
<html lang="en">
{{.AnalyticsHTML}}<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#00ADD8">
<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
<title>{{template "title" .}}</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700|Source+Code+Pro">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap">
<link rel="stylesheet" href="/lib/godoc/style.css">
<link rel="stylesheet" href="/fonts.css">
<link rel="alternate" type="application/atom+xml" title="blog.golang.org - Atom Feed" href="https://blog.golang.org/feed.atom" />
<script>window.initFuncs = [];</script>
<style>
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'Work Sans', sans-serif;
font-weight: 600;
}
h2 { /* Reset from style.js in x/website */
background: none;
clear: none;
font-size: 1.5em;
font-weight: 600;
line-height: inherit;
overflow-wrap: normal;
padding: 0;
}
@media print {
#sidebar { display: none; }
}
#sidebar {
float: right;
padding-left: 20px;
width: 40%;
max-width: 250px;
background: #f8f9f9;
margin: 20px 0 20px 20px;
}
#sidebar h2 {
font-size: 1rem;
}
#sidebar ul {
padding: 0;
}
#sidebar li {
list-style-type: none;
}
#content .author {
font-style: italic;
}
#content .article {
margin-bottom: 50px;
}
#content .date {
color: #6e7072;
}
#content .tags {
color: #999;
font-size: smaller;
}
#content .iframe, #content .image {
margin: 20px;
}
#content .title {
margin: 20px 0;
}
#content img {
max-width: 100%;
}
.article[data-slug='/go-fonts'] {
font-family: Go, sans-serif;
}
.article[data-slug='/go-fonts'] pre,
.article[data-slug='/go-fonts'] code {
font-family: 'Go Mono', monospace;
}
</style>
<body class="Site">
<header class="Header js-header">
<div class="Header-banner">
Black Lives Matter.
<a href="https://support.eji.org/give/153413/#!/donation/checkout"
target="_blank"
rel="noopener">Support the Equal Justice Initiative.</a>
</div>
<nav class="Header-nav">
<a href="{{.GodocURL}}"><img class="Header-logo" src="/lib/godoc/images/go-logo-blue.svg" alt="Go"></a>
<button class="Header-menuButton js-headerMenuButton" aria-label="Main menu" aria-expanded="false">
<div class="Header-menuButtonInner">
</button>
<ul class="Header-menu">
<li class="Header-menuItem"><a href="{{.GodocURL}}/doc/">Documents</a></li>
<li class="Header-menuItem"><a href="{{.GodocURL}}/pkg/">Packages</a></li>
<li class="Header-menuItem"><a href="{{.GodocURL}}/project/">The Project</a></li>
<li class="Header-menuItem"><a href="{{.GodocURL}}/help/">Help</a></li>
<li class="Header-menuItem"><a href="{{.BasePath}}/">Blog</a></li>
<li class="Header-menuItem"><a href="https://play.golang.org/">Play</a></li>
<li class="Header-menuItem Header-menuItem--search">
<form class="HeaderSearch" role="search" action="{{.GodocURL}}/search">
<input class="HeaderSearch-input"
type="search"
name="q"
placeholder="Search"
aria-label="Search"
autocapitalize="off"
autocomplete="off"
autocorrect="off"
spellcheck="false"
required>
<button class="HeaderSearch-submit" aria-label="Search">
<!-- magnifying glass: --><svg class="HeaderSearch-icon" width="24" height="24" viewBox="0 0 24 24"><title>Search</title><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
</button>
</form>
</li>
</ul>
</nav>
</header>
<main class="Site-content" id="page">
<div class="container">
<aside id="sidebar">
{{with .Doc}}
{{with .Newer}}
<h2>Next article</h2>
<p><a href="{{.Path}}">{{.Title}}</a></p>
{{end}}
{{with .Older}}
<h2>Previous article</h2>
<p><a href="{{.Path}}">{{.Title}}</a></p>
{{end}}
{{end}}
<h2>Links</h2>
<ul>
<li><a href='//golang.org/'>golang.org</a></li>
<li><a href='//golang.org/doc/install.html'>Install Go</a></li>
<li><a href='//tour.golang.org/'>A Tour of Go</a></li>
<li><a href='//golang.org/doc/'>Go Documentation</a></li>
<li><a href='//groups.google.com/group/golang-nuts'>Go Mailing List</a></li>
<li><a href='//twitter.com/golang'>Go on Twitter</a></li>
</ul>
<p><a href="{{.BasePath}}/index">Blog index</a></p>
</aside><!-- #sidebar -->
<div id="content">
<h1><a href="{{.BasePath}}/">The Go Blog</a></h1>
{{template "content" .}}
</div><!-- #content -->
</div><!-- .container -->
</main><!-- #page -->
<footer>
<div class="Footer">
<img class="Footer-gopher" src="/lib/godoc/images/footer-gopher.jpg" alt="The Go Gopher">
<ul class="Footer-links">
<li class="Footer-link"><a href="{{.GodocURL}}/doc/copyright.html">Copyright</a></li>
<li class="Footer-link"><a href="{{.GodocURL}}/doc/tos.html">Terms of Service</a></li>
<li class="Footer-link"><a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a></li>
<li class="Footer-link"><a href="http://golang.org/issues/new?title=x/blog:" target="_blank" rel="noopener">Report issue</a></li>
</ul>
<a class="Footer-supportedBy" href="https://google.com">Supported by Google</a>
</div>
</footer>
<script src="/lib/godoc/jquery.js"></script>
<script src="/lib/godoc/playground.js"></script>
<script src="/lib/godoc/play.js"></script>
<script src="/lib/godoc/godocs.js"></script>
<script>
$(function() {
// Insert line numbers for all playground elements.
$('.playground > pre.numbers, .code > pre.numbers').each(function() {
var $spans = $(this).find('> span');
// Compute width of number column (including trailing space).
var max = 0;
$spans.each(function() {
var n = $(this).attr('num')*1;
if (n > max) max = n;
});
var width = 2;
while (max > 10) {
max = max / 10;
width++;
}
// Insert line numbers with space padding.
$spans.each(function() {
var n = $(this).attr('num')+' ';
while (n.length < width) n = ' '+n;
$('<span class="number">').text(n).insertBefore(this);
});
});
initPlayground(new HTTPTransport());
});
</script>
{{end}}
{{define "doc"}}
<div class="article" data-slug="{{.Path}}">
<h2 class="title"><a href="{{.Path}}">{{.Title}}</a></h2>
<p class="author">
{{with .Authors}}{{authors .}}<br>{{end}}
{{.Time.Format "2 January 2006"}}
</p>
{{.HTML}}
</div>
{{end}}