mirror of https://github.com/grpc/grpc.io.git
Add Showcase page; rework landing-pages for each language (#421)
* Language landing page rework * Use dev-stories heading id * Add Showcase page * Elide Java dev stories for now, but keep target * Tweak showcase dev stories list * Only show "More..." nav entry for pages that have more content
This commit is contained in:
parent
6aebd07b66
commit
0e19ceadf6
|
|
@ -80,6 +80,9 @@ menu:
|
|||
url: /docs/
|
||||
identifier: docs
|
||||
weight: 2
|
||||
- name: Showcase
|
||||
url: /showcase/
|
||||
weight: 3
|
||||
- name: Blog
|
||||
url: /blog/
|
||||
weight: 4
|
||||
|
|
|
|||
|
|
@ -1,11 +1,90 @@
|
|||
---
|
||||
title: Go
|
||||
title: &lang Go
|
||||
language: *lang
|
||||
api_path: https://pkg.go.dev/google.golang.org/grpc
|
||||
src_repo: github.com/grpc/grpc-go
|
||||
src_repo_content: github.com/grpc/grpc-go/blob/master
|
||||
---
|
||||
|
||||
These language-specific pages are available:
|
||||
<style>
|
||||
.card {
|
||||
min-height: 100%;
|
||||
}
|
||||
.resource-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
- [Quick start](quickstart/)
|
||||
- [Basics tutorial](basics/)
|
||||
- [Generated-code reference](generated-code/)
|
||||
- [API reference](api)
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="card" href="#">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="quickstart/">Quick start</a>
|
||||
</h4>
|
||||
<p>
|
||||
Run your first
|
||||
{{< param language >}}
|
||||
gRPC app in minutes!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="basics/">Basics tutorial</a>
|
||||
</h4>
|
||||
<p>
|
||||
Learn about
|
||||
{{< param language >}}
|
||||
gRPC basics.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div class="columns">
|
||||
<div class="column resource-list">
|
||||
|
||||
#### Learn more
|
||||
|
||||
- [Examples](https://{{< param src_repo_content >}}/examples/)
|
||||
- [Additional docs](https://{{< param src_repo_content >}}/Documentation/)
|
||||
- [Installation](https://{{< param src_repo >}}#installation)
|
||||
- [FAQ](https://{{< param src_repo >}}#faq)
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Reference
|
||||
|
||||
- [API](api/)
|
||||
- [Generated code](generated-code/)
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Other
|
||||
|
||||
- [Performance benchmark][]
|
||||
- [grpc-{{< plower language >}} repo](https://{{< param src_repo >}})
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
#### Developer stories and talks {#dev-stories}
|
||||
|
||||
- **Talking to Go gRPC Services Via HTTP/1**
|
||||
<a href="https://youtu.be/Vbw8h0RCn2E"><i class="fab fa-youtube"></i></a>
|
||||
<a href="https://static.sched.com/hosted_files/grpcconf20/c9/TalkingToGoGRPCviaHTTP1-gRPCConf2020-MalteIsberner.pdf"><i class="far fa-file"></i></a><br>
|
||||
A [gRPC Conf 2020 presentation](https://sched.co/cRfW)
|
||||
by Malte Isberner, StackRox.
|
||||
|
||||
[Performance benchmark]: https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Go Generated-code reference
|
||||
short: Generated code
|
||||
weight: 80
|
||||
weight: 95
|
||||
---
|
||||
|
||||
This page describes the code generated with the [grpc plugin](https://godoc.org/github.com/golang/protobuf/protoc-gen-go/grpc) to `protoc-gen-go`
|
||||
|
|
|
|||
|
|
@ -1,11 +1,83 @@
|
|||
---
|
||||
title: Java
|
||||
title: &lang Java
|
||||
language: *lang
|
||||
api_path: grpc-java/javadoc
|
||||
src_repo: github.com/grpc/grpc-java
|
||||
src_repo_content: github.com/grpc/grpc-java/blob/master
|
||||
---
|
||||
|
||||
These language-specific pages are available:
|
||||
<style>
|
||||
.card {
|
||||
min-height: 100%;
|
||||
}
|
||||
.resource-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
- [Quick start](quickstart/)
|
||||
- [Basics tutorial](basics/)
|
||||
- [Generated-code reference](generated-code/)
|
||||
- [API reference](api)
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="card" href="#">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="quickstart/">Quick start</a>
|
||||
</h4>
|
||||
<p>
|
||||
Run your first
|
||||
{{< param language >}}
|
||||
gRPC app in minutes!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="basics/">Basics tutorial</a>
|
||||
</h4>
|
||||
<p>
|
||||
Learn about
|
||||
{{< param language >}}
|
||||
gRPC basics.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div class="columns">
|
||||
<div class="column resource-list">
|
||||
|
||||
#### Learn more
|
||||
|
||||
- [Examples](https://{{< param src_repo_content >}}/examples/)
|
||||
- [Android example](https://{{< param src_repo_content >}}/examples/android/)
|
||||
- [Additional docs](https://{{< param src_repo_content >}}/documentation/)
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Reference
|
||||
|
||||
- [API](api/)
|
||||
- [Generated code](generated-code/)
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Other
|
||||
|
||||
- [grpc-{{< plower language >}} repo](https://{{< param src_repo >}})
|
||||
- [Download](https://{{< param src_repo >}}#download)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
#### Developer stories and talks {#dev-stories}
|
||||
|
||||
(_Content coming shortly_.)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Java generated-code reference
|
||||
short: Generated code
|
||||
weight: 80
|
||||
weight: 95
|
||||
spelling: cSpell:ignore buildscript classpath grpcexample motd srcs xolstice
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,85 @@
|
|||
---
|
||||
title: Kotlin/JVM
|
||||
title: &lang Kotlin/JVM
|
||||
language: *lang
|
||||
api_path: https://javadocs.dev/io.grpc/grpc-kotlin-stub/latest
|
||||
src_repo: github.com/grpc/grpc-kotlin
|
||||
src_repo_content: github.com/grpc/grpc-kotlin/blob/master
|
||||
---
|
||||
|
||||
These language-specific pages are available:
|
||||
<style>
|
||||
.card {
|
||||
min-height: 100%;
|
||||
}
|
||||
.resource-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
- [Quick start](quickstart/)
|
||||
- [Basics tutorial](basics/)
|
||||
- [API reference](api)
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="card" href="#">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="quickstart/">Quick start</a>
|
||||
</h4>
|
||||
<p>
|
||||
Run your first
|
||||
{{< param language >}}
|
||||
gRPC app in minutes!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<a class="" href="basics/">Basics tutorial</a>
|
||||
</h4>
|
||||
<p>
|
||||
Learn about
|
||||
{{< param language >}}
|
||||
gRPC basics.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div class="columns">
|
||||
<div class="column resource-list">
|
||||
|
||||
#### Learn more
|
||||
|
||||
- [Examples](https://{{< param src_repo_content >}}/examples/),
|
||||
including for Android
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Reference
|
||||
|
||||
- [API](api/)
|
||||
|
||||
</div><div class="column resource-list">
|
||||
|
||||
#### Other
|
||||
|
||||
- [grpc-kotlin repo](https://{{< param src_repo >}})
|
||||
- [Download](https://search.maven.org/search?q=g:io.grpc%20AND%20grpc-kotlin)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
#### Developer stories and talks {#dev-stories}
|
||||
|
||||
- **Next Level gRPC With Kotlin and Coroutines**
|
||||
<a href="https://youtu.be/SfmdAA2kwWI"><i class="fab fa-youtube"></i></a>
|
||||
<a href="https://static.sched.com/hosted_files/grpcconf20/e6/grpc-session.pdf"><i class="far fa-file"></i></a><br>
|
||||
A [gRPC Conf 2020 presentation](https://sched.co/cRfc)
|
||||
by Marco Ferrer, OfferUp.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,150 @@
|
|||
---
|
||||
title: Showcase
|
||||
description: Customer success stories, developers stories, and more
|
||||
url_use_grpc: https://www.cncf.io/case-studies/?_sft_lf-project=grpc
|
||||
spelling: cSpell:ignore youtube Kubernetes Nulab Protop
|
||||
---
|
||||
|
||||
## Customer success stories
|
||||
|
||||
<style>
|
||||
.content h2:not(:first-child) {
|
||||
margin-top: 4rem !important;
|
||||
}
|
||||
.content h2 {
|
||||
margin-top: 1rem !important;
|
||||
margin-bottom: 2rem !important;
|
||||
}
|
||||
.card {
|
||||
min-height: 100%;
|
||||
}
|
||||
.resource-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
Here are a few of the customers who [successfully adopted **gRPC**][use-of-gRPC]
|
||||
and other [CNCF technologies](https://www.cncf.io/projects/) in the past year:
|
||||
|
||||
<div class="columns mt-5">
|
||||
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<!-- <a href="https://www.cncf.io/case-studies/salesforce/">Salesforce</a> -->
|
||||
|
||||
[Salesforce](https://www.cncf.io/case-studies/salesforce/)
|
||||
</h4>
|
||||
<p>
|
||||
How gRPC is enabling Salesforce’s unified interoperability strategy.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card" href="#">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<!-- <a href="https://www.cncf.io/case-studies/mux/">Mux</a> -->
|
||||
|
||||
[Mux](https://www.cncf.io/case-studies/mux/)
|
||||
</h4>
|
||||
<p>
|
||||
How cloud native technology helps Mux simplify online video streaming.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<h4>
|
||||
<!-- <a href="https://www.cncf.io/case-studies/nulab/">Nulab</a> -->
|
||||
|
||||
[Nulab](https://www.cncf.io/case-studies/nulab/)
|
||||
</h4>
|
||||
<p>
|
||||
How the productivity software company Nulab boosted its own productivity with microservices and Kubernetes.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="has-text-centered mb-5">
|
||||
<a class="button is-secondary"
|
||||
href="{{< param url_use_grpc >}}"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>View all</a>
|
||||
</div>
|
||||
|
||||
There are [many CNCF projects](https://www.cncf.io/projects/) of which gRPC is
|
||||
one. For a complete list of customer stories describing the successful adoption
|
||||
of CNCF technologies, see the [CNCF case studies][] page.
|
||||
|
||||
## Developer stories
|
||||
|
||||
Developer stories cover a variety of technical subjects related to gRPC. You can
|
||||
find developer stories for your [preferred language](/docs/languages) on each
|
||||
**language-specific landing page**.
|
||||
|
||||
<div class="buttons are-medium is-centered mt-5 mb-5">
|
||||
<a class="button is-secondary is-light" href="/docs/languages/go/#dev-stories">
|
||||
Go
|
||||
</a>
|
||||
<a class="button is-secondary is-light" href="/docs/languages/cpp/#dev-stories">
|
||||
C++
|
||||
</a>
|
||||
<a class="button is-secondary is-light" href="/docs/languages/java/#dev-stories">
|
||||
Java
|
||||
</a>
|
||||
<a class="button is-secondary is-light" href="/docs/languages/python/#dev-stories">
|
||||
Python
|
||||
</a>
|
||||
<a class="button is-secondary is-light" href="/docs/languages/csharp/#dev-stories">
|
||||
C#
|
||||
</a>
|
||||
<a class="button is-secondary is-light" href="/docs/languages/">
|
||||
<i class="fas fa-ellipsis-h"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
Other developer stories are provided next.
|
||||
|
||||
- [**How GIPHY’s Public API Integrates with gRPC Services**](https://engineering.giphy.com/how-giphys-public-api-integrates-with-grpc-services/)<br>
|
||||
by Serhii Kushch. August 13, 2020.
|
||||
- **A Simplified Service Mesh With gRPC**
|
||||
<a href="https://youtu.be/9alMEeTxsMA"><i class="fab fa-youtube"></i></a>
|
||||
<a href="https://static.sched.com/hosted_files/grpcconf20/ae/A%20Simplified%20Service%20Mesh%20with%20gRPC.pdf"><i class="far fa-file"></i></a><br>
|
||||
A [gRPC Conf 2020 presentation](https://sched.co/cRfZ)
|
||||
by Srini Polavarapu, Engineering Manager, Google
|
||||
- **Protop: A Package Manager for gRPC and Protocol Buffers**
|
||||
<a href="https://youtu.be/9alMEeTxsMA"><i class="fab fa-youtube"></i></a>
|
||||
<a href="https://static.sched.com/hosted_files/grpcconf20/6b/protop%20-%20a%20package%20manager%20for%20protobufs.pdf"><i class="far fa-file"></i></a><br>
|
||||
A [gRPC Conf 2020 presentation](https://sched.co/cRfo)
|
||||
by Jeffery Shivers, Toast, Inc
|
||||
- **Service Interoperability With gRPC: gRPC in Action**
|
||||
<a href="https://youtu.be/MLS7TFHrn_c"><i class="fab fa-youtube"></i></a>
|
||||
<a href="https://static.sched.com/hosted_files/grpcconf20/d3/Service%20Interoperability%20with%20gRPC.pdf"><i class="far fa-file"></i></a><br>
|
||||
A [gRPC Conf 2020 presentation](https://sched.co/cRfl)
|
||||
by Varun Gupta & Tuhin Kanti Sharma, Salesforce.
|
||||
|
||||
## More
|
||||
|
||||
- [gRPC Conf 2020 presentation videos][]. Looking for slides? Select the
|
||||
presentation's entry in the [schedule][] page. If the author provided slides,
|
||||
you'll find them below the author's bio.
|
||||
|
||||
|
||||
[CNCF case studies]: https://www.cncf.io/case-studies/
|
||||
[gRPC YouTube channel]: ...
|
||||
[gRPC Conf 2020 presentation videos]: https://www.youtube.com/playlist?list=PLj6h78yzYM2NN72UX_fdmc5CZI-D5qfJL
|
||||
[schedule]: https://events.linuxfoundation.org/grpc-conf/program/schedule/
|
||||
[use-of-gRPC]: {{< param url_use_grpc >}}
|
||||
|
|
@ -73,6 +73,13 @@
|
|||
</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
{{ if .Params.language }}
|
||||
<li class="nav-section-link">
|
||||
<a href="{{ .RelPermalink }}">
|
||||
More ...
|
||||
</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
{{ end -}}
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
{{/*
|
||||
Param lower shortcode: plower PARAM_NAME
|
||||
*/}}
|
||||
{{- $name := (.Get 0) -}}
|
||||
{{ with $name -}}
|
||||
{{ with ($.Page.Param .) -}}
|
||||
{{ lower . -}}
|
||||
{{ else -}}
|
||||
{{ errorf "Param %q not found: %s" $name $.Position -}}
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
{{ errorf "Missing param key: %s" $.Position -}}
|
||||
{{ end -}}
|
||||
Loading…
Reference in New Issue