<!--
  Copyright 2019 The Go Authors. All rights reserved.
  Use of this source code is governed by a BSD-style
  license that can be found in the LICENSE file.
-->

{{define "details_content"}}
  <div class="Overview">
    <div class="Overview-module">
      {{if eq .ModulePath "std"}}
        <h2>Standard library</h2>
        <a href="{{.ModuleURL}}">Standard library</a>
      {{else}}
        <h2>Module</h2>
        <a href="{{.ModuleURL}}">{{.ModulePath}}</a>
      {{end}}
    </div>
    <div class="Overview-sourceCode">
      <h2>Source Code</h2>
      <p class="Overview-sourceCodeLink">
        {{if .RepositoryURL}}
          Repository: <a href="{{.RepositoryURL}}" target="_blank" rel="noopener">{{.RepositoryURL}}</a><br/>
        {{else}}
          Source code link not available.
        {{end}}
        {{if .PackageSourceURL}}
          Package: <a href="{{.PackageSourceURL}}" target="_blank" rel="noopener">{{.PackageSourceURL}}</a>
        {{end}}
      </p>
    </div>
    <div class="Overview-readme">
      <h2>README</h2>
      <div class="Overview-readmeContainer">
      {{if .ReadMe.String}}
          <div class="Overview-readmeContent">{{.ReadMe}}</div>
          <div class="Overview-readmeSource">Source: {{.ReadMeSource}}</div>
      {{else if not .Redistributable}}
        <div>
          <img class="EmptyContent-gopher" src="/static/img/gopher-airplane.svg" alt="The Go Gopher">
          <h3 class="EmptyContent-message">
            README not displayed due to license restrictions.
	    See our <a href="/license-policy">license policy</a>.
          </h3>
        </div>
      {{else}}
        {{template "empty_content" "No README found for this package!"}}
      {{end}}
      </div>
    </div>
  </div>
{{end}}
