Merge remote-tracking branch 'upstream/master' into lperkins/markdown-community-page

This commit is contained in:
lucperkins 2019-04-26 11:08:31 -07:00
commit a9f3140b4d
32 changed files with 73 additions and 70 deletions

View File

@ -1,4 +1,4 @@
baseURL = "https://grpc-io.netlify.com/" baseURL = "https://grpc.io/"
languageCode = "en-us" languageCode = "en-us"
title = "gRPC" title = "gRPC"
pygmentsCodeFences = true pygmentsCodeFences = true

View File

@ -10,8 +10,6 @@ url: blog/beta_release
The gRPC team is excited to announce the immediate availability of gRPC Beta. This release marks an important point in API stability and going forward most API changes are expected to be additive in nature. This milestone opens the door for gRPC use in production environments. The gRPC team is excited to announce the immediate availability of gRPC Beta. This release marks an important point in API stability and going forward most API changes are expected to be additive in nature. This milestone opens the door for gRPC use in production environments.
</p> </p>
<!--more-->
<p> <p>
Were also taking a big step forward in improving the installation process. Over the past few weeks weve rolled out gRPC packages to <a href="https://packages.debian.org/jessie-backports/libgrpc0">Debian Stable/Backports</a>. Installation in most cases is now a two line install using the Debian package and available language specific package managers (<a href="https://search.maven.org/#artifactdetails%7Cio.grpc%7Cgrpc-core%7C0.9.0%7Cjar">maven</a>, <a href="https://pypi.python.org/pypi/grpcio">pip</a>, <a href="https://rubygems.org/gems/grpc">gem</a>, <a href="https://packagist.org/packages/grpc/grpc">composer</a>, <a href="https://pecl.php.net/package/gRPC">pecl</a>, <a href="https://www.npmjs.com/package/grpc">npm</a>, <a href="https://www.nuget.org/packages/Grpc/">nuget</a>, <a href="https://cocoapods.org/pods/gRPC">pod</a>). In addition <a href="https://hub.docker.com/r/grpc/">gRPC docker images</a> are now available on Docker Hub. Were also taking a big step forward in improving the installation process. Over the past few weeks weve rolled out gRPC packages to <a href="https://packages.debian.org/jessie-backports/libgrpc0">Debian Stable/Backports</a>. Installation in most cases is now a two line install using the Debian package and available language specific package managers (<a href="https://search.maven.org/#artifactdetails%7Cio.grpc%7Cgrpc-core%7C0.9.0%7Cjar">maven</a>, <a href="https://pypi.python.org/pypi/grpcio">pip</a>, <a href="https://rubygems.org/gems/grpc">gem</a>, <a href="https://packagist.org/packages/grpc/grpc">composer</a>, <a href="https://pecl.php.net/package/gRPC">pecl</a>, <a href="https://www.npmjs.com/package/grpc">npm</a>, <a href="https://www.nuget.org/packages/Grpc/">nuget</a>, <a href="https://cocoapods.org/pods/gRPC">pod</a>). In addition <a href="https://hub.docker.com/r/grpc/">gRPC docker images</a> are now available on Docker Hub.
</p> </p>

View File

@ -11,8 +11,6 @@ url: blog/principles
<p>Google has been using a single general-purpose RPC infrastructure called Stubby to connect the large number of microservices running within and across our data centers for over a decade. Our internal systems have long embraced the microservice architecture gaining popularity today. Having a uniform, cross-platform RPC infrastructure has allowed for the rollout of fleet-wide improvements in efficiency, security, reliability and behavioral analysis critical to supporting the incredible growth seen in that period. <p>Google has been using a single general-purpose RPC infrastructure called Stubby to connect the large number of microservices running within and across our data centers for over a decade. Our internal systems have long embraced the microservice architecture gaining popularity today. Having a uniform, cross-platform RPC infrastructure has allowed for the rollout of fleet-wide improvements in efficiency, security, reliability and behavioral analysis critical to supporting the incredible growth seen in that period.
</p> </p>
<!--more-->
<p>Stubby has many great features - however, it's not based on any standard and is too tightly coupled to our internal infrastructure to be considered suitable for public release. With the advent of SPDY, HTTP/2, and QUIC, many of these same features have appeared in public standards, together with other features that Stubby does not provide. It became clear that it was time to rework Stubby to take advantage of this standardization, and to extend its applicability to mobile, IoT, and Cloud use-cases.</p> <p>Stubby has many great features - however, it's not based on any standard and is too tightly coupled to our internal infrastructure to be considered suitable for public release. With the advent of SPDY, HTTP/2, and QUIC, many of these same features have appeared in public standards, together with other features that Stubby does not provide. It became clear that it was time to rework Stubby to take advantage of this standardization, and to extend its applicability to mobile, IoT, and Cloud use-cases.</p>
<h2>Principles &amp; Requirements</h2> <h2>Principles &amp; Requirements</h2>

View File

@ -8,7 +8,5 @@ url: blog/meetup-kit
<p>If you have ever wanted to run an event around <a href="http://grpc.io">gRPC</a>, but didn&rsquo;t know where to start, or wasn&rsquo;t sure what content is available - we have released the <a href="https://github.com/grpc-ecosystem/meetup-kit">gRPC Meetup Kit</a>!</p> <p>If you have ever wanted to run an event around <a href="http://grpc.io">gRPC</a>, but didn&rsquo;t know where to start, or wasn&rsquo;t sure what content is available - we have released the <a href="https://github.com/grpc-ecosystem/meetup-kit">gRPC Meetup Kit</a>!</p>
<!--more-->
<p>The meetup kit includes a 15 minute presentation on the basic concepts of gRPC, with accompanying <a href="https://docs.google.com/presentation/d/1dgI09a-_4dwBMLyqfwchvS6iXtbcISQPLAXL6gSYOcc/edit?usp=sharing">slides</a> and <a href="https://www.youtube.com/watch?v=UVsIfSfS6I4">video</a> for either reference or playback, as well as a <a href="https://codelabs.developers.google.com/codelabs/cloud-grpc/index.html">45 minute codelab</a> that takes you through the basics of gRPC in <a href="https://nodejs.org">Node.js</a> and <a href="https://golang.org/">Go</a>. At the end of the codelab participants will have a solid understanding of the fundamentals of gRPC.</p> <p>The meetup kit includes a 15 minute presentation on the basic concepts of gRPC, with accompanying <a href="https://docs.google.com/presentation/d/1dgI09a-_4dwBMLyqfwchvS6iXtbcISQPLAXL6gSYOcc/edit?usp=sharing">slides</a> and <a href="https://www.youtube.com/watch?v=UVsIfSfS6I4">video</a> for either reference or playback, as well as a <a href="https://codelabs.developers.google.com/codelabs/cloud-grpc/index.html">45 minute codelab</a> that takes you through the basics of gRPC in <a href="https://nodejs.org">Node.js</a> and <a href="https://golang.org/">Go</a>. At the end of the codelab participants will have a solid understanding of the fundamentals of gRPC.</p>
<p>If you are thinking about running a gRPC event, make sure to contact us to receive <a href="https://goo.gl/forms/C3TCtFdobz4ippty2">gRPC stickers</a> and/or organise <a href="https://goo.gl/forms/pvxNwWExr5ApbNst2">office hours over Hangouts with the gRPC team</a>! </p> <p>If you are thinking about running a gRPC event, make sure to contact us to receive <a href="https://goo.gl/forms/C3TCtFdobz4ippty2">gRPC stickers</a> and/or organise <a href="https://goo.gl/forms/pvxNwWExr5ApbNst2">office hours over Hangouts with the gRPC team</a>! </p>

View File

@ -4,7 +4,7 @@ title: Contribute
<div class="container markdown"> <div class="container markdown">
<div class="row"> <div class="row">
To contribute to gRPC documentation, please fork the&nbsp;<a href="https://github.com/grpc/grpc.github.io">GitHub gRPC repository</a> &nbsp;and start submitting pull requests. To contribute to gRPC documentation, please fork the&nbsp;<a href="https://github.com/grpc/grpc.io">GitHub gRPC repository</a> &nbsp;and start submitting pull requests.
<div id="MainRepoInstructions"> <div id="MainRepoInstructions">
<h2>Contribution guidelines for gRPC</h2> <h2>Contribution guidelines for gRPC</h2>
@ -28,7 +28,7 @@ title: Contribute
<p>Click the below button to visit the repo for our site. You can then click the "Fork" button in the upper-right area of the screen to create a copy of our site on your GitHub account called a "fork." Make any changes you want in your fork, and when you are ready to send those changes to us, go to the index page for your fork and click "New Pull Request" to let us know about it.</p> <p>Click the below button to visit the repo for our site. You can then click the "Fork" button in the upper-right area of the screen to create a copy of our site on your GitHub account called a "fork." Make any changes you want in your fork, and when you are ready to send those changes to us, go to the index page for your fork and click "New Pull Request" to let us know about it.</p>
<button class="btn btn-grpc waves-effect waves-light"><a href="https://github.com/grpc/grpc.github.io">Browse this site's source code</a></button> <button class="btn btn-grpc waves-effect waves-light"><a href="https://github.com/grpc/grpc.io">Browse this site's source code</a></button>
</div> </div>
<div id="githubOrganization"> <div id="githubOrganization">

View File

@ -1,6 +1,7 @@
--- ---
layout: guides layout: guides
title: Guides title: Guides
weight: 2
--- ---
This document introduces you to gRPC and protocol buffers. gRPC can use This document introduces you to gRPC and protocol buffers. gRPC can use

View File

@ -1,11 +1,9 @@
--- ---
layout: guides layout: guides
title: Authentication title: Authentication
description: |
This document provides an overview of gRPC authentication, including our built-in supported auth mechanisms, how to plug in your own authentication systems, and examples of how to use gRPC auth in our supported languages.
--- ---
<p class="lead">This document provides an overview of gRPC authentication,
including our built-in supported auth mechanisms, how to plug in your own
authentication systems, and examples of how to use gRPC auth in our supported
languages.</p>
<div id="toc" class="toc mobile-toc"></div> <div id="toc" class="toc mobile-toc"></div>

View File

@ -1,11 +1,9 @@
--- ---
layout: guides layout: guides
title: Benchmarking title: Benchmarking
description: |
gRPC is designed to support high-performance open-source RPCs in many languages. This document describes the performance benchmarking tools, the scenarios considered by the tests, and the testing infrastructure.
--- ---
<p class="lead">gRPC is designed to support high-performance
open-source RPCs in many languages. This document describes the
performance benchmarking tools, the scenarios considered by the tests,
and the testing infrastructure.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -1,9 +1,9 @@
--- ---
layout: guides layout: guides
title: gRPC Concepts title: gRPC Concepts
description: |
This document introduces some key gRPC concepts with an overview of gRPC's architecture and RPC life cycle.
--- ---
<p class="lead">This document introduces some key gRPC concepts with an overview
of gRPC's architecture and RPC life cycle.</p>
It assumes that you've read [What is gRPC?](/docs/guides). For It assumes that you've read [What is gRPC?](/docs/guides). For
language-specific details, see the Quick Start, tutorial, and reference language-specific details, see the Quick Start, tutorial, and reference

View File

@ -1,8 +1,9 @@
--- ---
layout: guides layout: guides
title: Error Handling title: Error Handling
description: |
This page describes how gRPC deals with errors, including gRPC's built-in error codes. Example code in different languages can be found [here](https://github.com/avinassh/grpc-errors).
--- ---
<p class="lead"> This page describes how gRPC deals with errors, including gRPC's built-in error codes. Example code in different languages can be found <a href="https://github.com/avinassh/grpc-errors">here</a>.</p>
<div id="toc" class="toc mobile-toc"></div> <div id="toc" class="toc mobile-toc"></div>

View File

@ -1,10 +1,9 @@
--- ---
title: Quick Start title: Quick Start
layout: quickstart layout: quickstart
description: Get started with gRPC
weight: 1
--- ---
<p class="lead">
Get started with gRPC
</p>
<div id="toc" class="toc mobile-toc"></div> <div id="toc" class="toc mobile-toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: Android Java Quickstart title: Android Java Quickstart
short: Android short: Android
description: This guide gets you started with gRPC in Android Java with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Android Java with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: C++ Quick Start title: C++ Quick Start
short: C++ short: C++
description: This guide gets you started with gRPC in C++ with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in C++ with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,11 +2,9 @@
title: C# Quick Start title: C# Quick Start
layout: quickstart layout: quickstart
short: C# short: C#
description: This guide gets you started with gRPC in C# with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in C# with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>
### Before you begin ### Before you begin

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: Dart Quickstart title: Dart Quickstart
short: Dart short: Dart
description: This guide gets you started with gRPC in Dart with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Dart with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
title: Go Quick Start title: Go Quick Start
layout: quickstart layout: quickstart
short: Go short: Go
description: This guide gets you started with gRPC in Go with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Go with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: Java Quick Start title: Java Quick Start
short: Java short: Java
description: This guide gets you started with gRPC in Java with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Java with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
title: Node Quick Start title: Node Quick Start
layout: quickstart layout: quickstart
short: Node short: Node
description: This guide gets you started with gRPC in Node with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Node with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: Objective-C Quick Start title: Objective-C Quick Start
short: Objective-C short: Objective-C
description: This guide gets you started with gRPC on the iOS platform in Objective-C with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC on the iOS platform in
Objective-C with a simple working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: PHP Quick Start title: PHP Quick Start
short: PHP short: PHP
description: This guide gets you started with gRPC in PHP with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in PHP with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,9 +2,8 @@
layout: quickstart layout: quickstart
title: Python Quick Start title: Python Quick Start
short: Python short: Python
description: This guide gets you started with gRPC in Python with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Python with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -2,11 +2,9 @@
title: Ruby Quick Start title: Ruby Quick Start
layout: quickstart layout: quickstart
short: Ruby short: Ruby
description: This guide gets you started with gRPC in Ruby with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC in Ruby with a simple
working example.</p>
<div id="toc"></div> <div id="toc"></div>
### Before you begin ### Before you begin

View File

@ -2,9 +2,8 @@
title: Web Quick Start title: Web Quick Start
layout: quickstart layout: quickstart
short: Web short: Web
description: This guide gets you started with gRPC-Web with a simple working example.
--- ---
<p class="lead">This guide gets you started with gRPC-Web with a simple
working example from the browser.</p>
<div id="toc"></div> <div id="toc"></div>

View File

@ -4,6 +4,7 @@ headline: 'Language Specific API Reference'
layout: docs layout: docs
title: Reference title: Reference
type: markdown type: markdown
weight: 4
--- ---
<p class="lead">Links to the language specific automatically generated API reference documentation.</p> <p class="lead">Links to the language specific automatically generated API reference documentation.</p>

View File

@ -4,7 +4,9 @@ headline: 'gRPC Samples'
layout: docs layout: docs
title: Samples title: Samples
type: markdown type: markdown
weight: 5
--- ---
<p class="lead">Here are some sample apps to help developers build certain functionalities</p> <p class="lead">Here are some sample apps to help developers build certain functionalities</p>
<ul> <ul>

View File

@ -1,7 +1,9 @@
--- ---
layout: docs layout: docs
title: Presentations & Talks title: Presentations & Talks
short: Presentations
type: markdown type: markdown
weight: 6
--- ---
<p class="lead">gRPC has been talked about in many conferences and sessions. Here are a few interesting ones:</p> <p class="lead">gRPC has been talked about in many conferences and sessions. Here are a few interesting ones:</p>

View File

@ -1,12 +1,13 @@
--- ---
layout: tutorials layout: tutorials
title: Tutorials title: Tutorials
weight: 3
--- ---
This section contains tutorials for each of our supported languages. They This section contains tutorials for each of our supported languages. They
introduce you to gRPC's API and associated concepts, and the different RPC types introduce you to gRPC's API and associated concepts, and the different RPC types
that are available. If you just want to dive straight in with a working example that are available. If you just want to dive straight in with a working example
first, see our [Quickstarts](/docs/quickstart). first, see our [Quick Starts](/docs/quickstart).
We also have a growing number of tutorials on follow-on topics, with more in the We also have a growing number of tutorials on follow-on topics, with more in the
pipeline. pipeline.

View File

@ -35,8 +35,8 @@
<div class="row"> <div class="row">
<div class="topbanner{{ if not .IsHome }}sub{{ end }}"> <div class="topbanner{{ if not .IsHome }}sub{{ end }}">
<nav class="navbar navbar-expand-md navbar-dark topnav"> <nav class="navbar navbar-expand-md navbar-dark topnav">
<a class="navbar-brand" href="{{ .Site.BaseURL }}"> <a class="navbar-brand" href="/">
<img src="{{ .Site.BaseURL }}img/grpc-logo.png" width="114" height="50"> <img src="/img/grpc-logo.png" width="114" height="50">
</a> </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
@ -46,10 +46,10 @@
<div class="topnav, collapse navbar-collapse" id="navbarSupportedContent" style="float:right !important"> <div class="topnav, collapse navbar-collapse" id="navbarSupportedContent" style="float:right !important">
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item {{ if in .RelPermalink "about" }}active{{ end }}"> <li class="nav-item {{ if in .RelPermalink "about" }}active{{ end }}">
<a class="nav-link" href="{{ .Site.BaseURL }}about/">About</a> <a class="nav-link" href="/about/">About</a>
</li> </li>
<li class="nav-item dropdown {{ if in .RelPermalink "docs" }}active{{ end }}"> <li class="nav-item dropdown {{ if in .RelPermalink "docs" }}active{{ end }}">
<a class="nav-link dropdown-toggle" href="{{ .Site.BaseURL }}docs/" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="/docs/" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Docs Docs
</a> </a>
@ -76,7 +76,7 @@
</a> </a>
</li> </li>
<li class="nav-item {{ if in .RelPermalink "faq" }}active{{ end }}"> <li class="nav-item {{ if in .RelPermalink "faq" }}active{{ end }}">
<a class="nav-link" href="{{ .Site.BaseURL }}faq/">FAQ</a> <a class="nav-link" href="/faq/">FAQ</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -34,6 +34,12 @@
{{ .Title }} {{ .Title }}
</h3> </h3>
{{ with .Params.description }}
<p class="lead">
{{ . | markdownify }}
</p>
{{ end }}
{{ .Content }} {{ .Content }}
</div> </div>
</div> </div>

View File

@ -20,10 +20,6 @@
<h8>Quick Start</h8> <h8>Quick Start</h8>
<a href="/docs/quickstart">
Quick Start Home
</a>
{{ range $quickstartDocs }} {{ range $quickstartDocs }}
{{ $isCurrentPage := eq $currentUrl .RelPermalink }} {{ $isCurrentPage := eq $currentUrl .RelPermalink }}
{{ $title := .Params.short }} {{ $title := .Params.short }}
@ -35,6 +31,11 @@
<div class="quickstartcol2" style="margin-top:4%"> <div class="quickstartcol2" style="margin-top:4%">
<h3 style="margin-top:0px;">{{ .Title }}</h3> <h3 style="margin-top:0px;">{{ .Title }}</h3>
{{ with .Params.description }}
<p class="lead">
{{ . | markdownify }}
</p>
{{ end }}
{{ .Content }} {{ .Content }}
</div> </div>

View File

@ -33,7 +33,7 @@
{{ range $async }} {{ range $async }}
{{ $isCurrentPage := eq $currentUrl .RelPermalink }} {{ $isCurrentPage := eq $currentUrl .RelPermalink }}
{{ $title := .Params.short }} {{ $title := .Params.short }}
<a href="{{ .RelPermalink }}"> <a href="{{ .RelPermalink }}"{{ if $isCurrentPage }} class="active"{{ end }}>
{{ $title }} {{ $title }}
</a> </a>
{{ end }} {{ end }}
@ -43,7 +43,7 @@
{{ range $basic }} {{ range $basic }}
{{ $isCurrentPage := eq $currentUrl .RelPermalink }} {{ $isCurrentPage := eq $currentUrl .RelPermalink }}
{{ $title := .Params.short }} {{ $title := .Params.short }}
<a href="{{ .RelPermalink }}"> <a href="{{ .RelPermalink }}"{{ if $isCurrentPage }} class="active"{{ end }}>
{{ $title }} {{ $title }}
</a> </a>
{{ end }} {{ end }}
@ -52,6 +52,11 @@
<div class="quickstartcol2" style="margin-top:4%"> <div class="quickstartcol2" style="margin-top:4%">
<h3 style="margin-top:0px;">{{ .Title }}</h3> <h3 style="margin-top:0px;">{{ .Title }}</h3>
{{ with .Params.description }}
<p class="lead">
{{ . | markdownify }}
</p>
{{ end }}
{{ .Content }} {{ .Content }}
</div> </div>

View File

@ -1,9 +1,17 @@
{{ $docsSections := (index (where site.Sections "Section" "docs") 0).Sections }}
{{ $isDocsHome := eq .RelPermalink "/docs/" }}
{{ $currentSection := .CurrentSection.Title }}
<div class="subnav d-none d-md-block"> <div class="subnav d-none d-md-block">
<a href="{{ .Site.BaseURL }}docs/" {{ if eq (countrunes .RelPermalink) 6 }} class="active"{{ end }}>Overview</a> <a href="/docs"{{ if $isDocsHome }} class="active"{{ end }}>
| <a href="{{ .Site.BaseURL }}docs/quickstart/" {{ if in .RelPermalink "quickstart" }} class="active"{{ end }}>Quick Start</a> Overview
| <a href="{{ .Site.BaseURL }}docs/guides/" {{ if in .RelPermalink "guides" }} class="active"{{ end }}>Guides</a> </a>
| <a href="{{ .Site.BaseURL }}docs/tutorials/" {{ if in .RelPermalink "tutorials" }} class="active"{{ end }}>Tutorials</a>
| <a href="{{ .Site.BaseURL }}docs/reference/" {{ if in .RelPermalink "reference" }} class="active"{{ end }}>Reference</a> {{ range $docsSections }}
| <a href="{{ .Site.BaseURL }}docs/samples/" {{ if in .RelPermalink "samples" }} class="active"{{ end }}>Samples</a> {{ $isCurrentSection := eq $currentSection .CurrentSection.Title }}
| <a href="{{ .Site.BaseURL }}docs/talks/" {{ if in .RelPermalink "talks" }} class="active"{{ end }}>Presentations</a> {{ $title := cond (isset .Params "short") .Params.short .Title }}
|
<a href="{{ .RelPermalink }}"{{ if $isCurrentSection }} class="active"{{ end }}>
{{ $title }}
</a>
{{ end }}
</div> </div>