Add SEO metadata partial and bump Hugo version to 0.53 (#508)

Signed-off-by: lucperkins <lucperkins@gmail.com>
This commit is contained in:
Luc Perkins
2019-01-24 09:37:29 -08:00
committed by Brian Goff
parent 4f3bd20e15
commit 8ec59f8261
17 changed files with 111 additions and 71 deletions

View File

@@ -4,7 +4,7 @@ publish = "website/public"
command = "make production-build" command = "make production-build"
[build.environment] [build.environment]
HUGO_VERSION = "0.50" HUGO_VERSION = "0.53"
[context.deploy-preview] [context.deploy-preview]
command = "make preview-build" command = "make preview-build"

View File

@@ -1,13 +1,13 @@
{{- $fonts := .Site.Params.fonts }} {{ $fonts := .Site.Params.fonts }}
{{- $fontSlice := (slice) }} {{ $fontSlice := (slice) }}
{{- range $fonts }} {{ range $fonts }}
{{- $fontSlice = $fontSlice | append (printf "%s:%s" (replace .name " " "+") (delimit .sizes ",")) }} {{ $fontSlice = $fontSlice | append (printf "%s:%s" (replace .name " " "+") (delimit .sizes ",")) }}
{{- end }} {{ end }}
{{- $fontsUrl := printf "https://fonts.googleapis.com/css?family=%s" (delimit $fontSlice "|") }} {{ $fontsUrl := printf "https://fonts.googleapis.com/css?family=%s" (delimit $fontSlice "|") }}
{{- $sansSerifFont := .Site.Params.sansSerifFont }} {{ $sansSerifFont := .Site.Params.sansSerifFont }}
//{{- $monospaceFont := .Site.Params.monospaceFont }} //{{ $monospaceFont := .Site.Params.monospaceFont }}
{{- $fontAwesomeVersion := .Site.Params.fontAwesomeVersion }} {{ $fontAwesomeVersion := .Site.Params.fontAwesomeVersion }}
{{- $fontAwesomeUrl := printf "https://use.fontawesome.com/releases/v%s/css/all.css" $fontAwesomeVersion }} {{ $fontAwesomeUrl := printf "https://use.fontawesome.com/releases/v%s/css/all.css" $fontAwesomeVersion }}
@charset "utf-8" @charset "utf-8"
@import url({{ $fontsUrl }}) @import url({{ $fontsUrl }})

View File

@@ -21,13 +21,15 @@ favicon = "https://raw.githubusercontent.com/cncf/artwork/master/virt
sansSerifFont = "Noto Sans TC" sansSerifFont = "Noto Sans TC"
#monospaceFont = "Fira Mono" #monospaceFont = "Fira Mono"
fontAwesomeVersion = "5.5.0" fontAwesomeVersion = "5.5.0"
description = """ description = "Virtual Kubelet is an open-source Kubernetes kubelet implementation that masquerades as a kubelet"
intro = """
**Virtual Kubelet** is an open-source [Kubernetes kubelet](https://kubernetes.io/docs/reference/generated/kubelet/) implementation that *masquerades* as a kubelet. **Virtual Kubelet** is an open-source [Kubernetes kubelet](https://kubernetes.io/docs/reference/generated/kubelet/) implementation that *masquerades* as a kubelet.
This allows Kubernetes nodes to be backed by Virtual Kubelet [**providers**](/docs/providers) such as serverless cloud container platforms. This allows Kubernetes nodes to be backed by Virtual Kubelet [**providers**](/docs/providers) such as serverless cloud container platforms.
""" """
[params.logos] [params.logos]
site = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/horizontal/color/virtualkubelet-horizontal-color.png"
hero = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/horizontal/white/virtualkubelet-horizontal-white.png" hero = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/horizontal/white/virtualkubelet-horizontal-white.png"
navbar = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/horizontal/white/virtualkubelet-horizontal-white.png" navbar = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/horizontal/white/virtualkubelet-horizontal-white.png"
sidebar = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/stacked/white/virtualkubelet-stacked-white.png" sidebar = "https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/stacked/white/virtualkubelet-stacked-white.png"
@@ -43,10 +45,11 @@ url = "https://github.com/virtual-kubelet/virtual-kubelet"
icon = "github" icon = "github"
[[params.social]] [[params.social]]
name = "Twitter" name = "Twitter"
color = "twitter-blue" color = "twitter-blue"
url = "https://twitter.com/virtualkubelet" url = "https://twitter.com/virtualkubelet"
icon = "twitter" icon = "twitter"
handle = "virtualkubelet"
[[params.social]] [[params.social]]
name = "Slack" name = "Slack"

View File

@@ -1,11 +1,11 @@
{{- .Scratch.Set "numFigures" 1 }} {{ .Scratch.Set "numFigures" 1 }}
{{- $pageType := cond .IsHome "home" .Section }} {{ $pageType := cond .IsHome "home" .Section }}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}"> <html lang="{{ site.LanguageCode }}">
<head> <head>
{{ partial "meta.html" . }} {{ partial "meta.html" . }}
<title> <title>
{{ block "title" . }}{{ .Site.Title }}{{ end }} {{ block "title" . }}{{ site.Title }}{{ end }}
</title> </title>
{{ partial "css.html" . }} {{ partial "css.html" . }}
</head> </head>

View File

@@ -1,5 +1,5 @@
{{ define "title" }} {{ define "title" }}
{{ .Site.Title }} | Home {{ site.Title }} | Home
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}

View File

@@ -1,16 +1,14 @@
{{- $favicon := .Site.Params.favicon }} {{ $inServerMode := site.IsServer }}
{{- $inServerMode := .Site.IsServer }} {{ $includePaths := (slice "node_modules") }}
{{- $includePaths := (slice "node_modules") }} {{ $sass := "sass/style.sass" }}
{{- $sass := "sass/style.sass" }} {{ $cssOutput := "css/style.css" }}
{{- $cssOutput := "css/style.css" }} {{ $devOpts := (dict "targetPath" $cssOutput "includePaths" $includePaths "enableSourceMap" true) }}
{{- $devOpts := (dict "targetPath" $cssOutput "includePaths" $includePaths "enableSourceMap" true) }} {{ $prodOpts := (dict "targetPath" $cssOutput "includePaths" $includePaths "outputStyle" "compressed") }}
{{- $prodOpts := (dict "targetPath" $cssOutput "includePaths" $includePaths "outputStyle" "compressed") }} {{ $cssOpts := cond $inServerMode $devOpts $prodOpts }}
{{- $cssOpts := cond $inServerMode $devOpts $prodOpts }} {{ $css := resources.Get $sass | resources.ExecuteAsTemplate $sass . | toCSS $cssOpts }}
{{- $css := resources.Get $sass | resources.ExecuteAsTemplate $sass . | toCSS $cssOpts }} {{ if $inServerMode }}
{{- if $inServerMode }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}"> <link rel="stylesheet" href="{{ $css.RelPermalink }}">
{{- else }} {{ else }}
{{- $prodCss := $css | fingerprint }} {{ $prodCss := $css | fingerprint }}
<link rel="stylesheet" href="{{ $prodCss.RelPermalink }}" integrity="{{ $prodCss.Data.Integrity }}"> <link rel="stylesheet" href="{{ $prodCss.RelPermalink }}" integrity="{{ $prodCss.Data.Integrity }}">
{{- end }} {{ end }}
<link rel="shortcut icon" href="{{ $favicon }}">

View File

@@ -1,11 +1,11 @@
{{- $description := .Params.description }} {{ $description := .Params.description }}
<section class="dashboard-main-header section has-background-dark"> <section class="dashboard-main-header section has-background-dark">
<p class="title is-size-1 has-text-white-bis has-text-weight-light{{ if $description }} is-spaced{{ end }}"> <p class="title is-size-1 has-text-white-bis has-text-weight-light{{ if $description }} is-spaced{{ end }}">
{{ .Title }} {{ .Title }}
</p> </p>
{{- with $description }} {{ with $description }}
<p class="subtitle is-size-3 is-size-4-mobile has-text-white-bis has-text-weight-light"> <p class="subtitle is-size-3 is-size-4-mobile has-text-white-bis has-text-weight-light">
{{ . }} {{ . }}
</p> </p>
{{- end }} {{ end }}
</section> </section>

View File

@@ -1,8 +1,8 @@
{{- $sidebarLogo := .Site.Params.logos.sidebar }} {{ $sidebarLogo := site.Params.logos.sidebar }}
{{- $docs := where .Site.Pages "Section" "docs" }} {{ $docs := where site.Pages "Section" "docs" }}
<div class="dashboard-panel is-medium is-hidden-mobile has-background-primary"> <div class="dashboard-panel is-medium is-hidden-mobile has-background-primary">
<div class="dashboard-panel-header has-text-centered"> <div class="dashboard-panel-header has-text-centered">
<a href="{{ .Site.BaseURL }}"> <a href="{{ site.BaseURL }}">
<img src="{{ $sidebarLogo }}"> <img src="{{ $sidebarLogo }}">
</a> </a>
</div> </div>
@@ -11,13 +11,13 @@
<div class="dashboard-panel-main"> <div class="dashboard-panel-main">
<div class="toc"> <div class="toc">
{{- range $docs }} {{ range $docs }}
<div class="toc-item has-text-weight-light"> <div class="toc-item has-text-weight-light">
<a href="{{ .URL }}"> <a href="{{ .URL }}">
{{ .Title }} {{ .Title }}
</a> </a>
</div> </div>
{{- end }} {{ end }}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,4 @@
{{- $year := now.Year}} {{ $year := now.Year}}
<footer class="footer has-background-black"> <footer class="footer has-background-black">
<div class="has-text-centered"> <div class="has-text-centered">
<img class="is-footer-logo" src="https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/icon/white/virtualkubelet-icon-white.png"> <img class="is-footer-logo" src="https://raw.githubusercontent.com/cncf/artwork/master/virtualkubelet/icon/white/virtualkubelet-icon-white.png">

View File

@@ -1,4 +1,4 @@
{{- $heroLogo := .Site.Params.logos.hero }} {{ $heroLogo := site.Params.logos.hero }}
<div class="hero is-primary"> <div class="hero is-primary">
<div class="hero-body"> <div class="hero-body">
<div class="section has-text-centered"> <div class="section has-text-centered">

View File

@@ -1,6 +1,6 @@
{{- $description := .Site.Params.description | markdownify }} {{ $intro := site.Params.intro | markdownify }}
{{- $social := .Site.Params.social }} {{ $social := site.Params.social }}
{{- $providers := .Site.Data.providers }} {{ $providers := site.Data.providers }}
<section class="section"> <section class="section">
<div class="container"> <div class="container">
<div class="columns"> <div class="columns">
@@ -10,7 +10,7 @@
</p> </p>
<span class="content is-size-4 is-size-5-mobile"> <span class="content is-size-4 is-size-5-mobile">
{{ $description }} {{ $intro }}
</span> </span>
<br /><br /> <br /><br />
@@ -24,15 +24,15 @@
</p> </p>
<ul> <ul>
{{- range $providers }} {{ range $providers }}
{{- $url := printf "https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/%s" .tag }} {{ $url := printf "https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/%s" .tag }}
<li class="has-bottom-spacing"> <li class="has-bottom-spacing">
<a class="is-size-5 is-size-6-mobile has-text-grey-lighter has-text-weight-light" href="{{ $url }}" target="_blank"> <a class="is-size-5 is-size-6-mobile has-text-grey-lighter has-text-weight-light" href="{{ $url }}" target="_blank">
{{ .name | markdownify }} {{ .name | markdownify }}
</a> </a>
<br /> <br />
</li> </li>
{{- end }} {{ end }}
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -1,9 +1,9 @@
{{- $socialButtons := .Site.Params.social }} {{ $socialButtons := site.Params.social }}
{{- $repoInfo := getJSON "https://api.github.com/repos/virtual-kubelet/virtual-kubelet" }} {{ $repoInfo := getJSON "https://api.github.com/repos/virtual-kubelet/virtual-kubelet" }}
{{- $numStars := $repoInfo.stargazers_count }} {{ $numStars := $repoInfo.stargazers_count }}
{{- $numWatchers := $repoInfo.subscribers_count }} {{ $numWatchers := $repoInfo.subscribers_count }}
<div class="buttons"> <div class="buttons">
{{- range $socialButtons }} {{ range $socialButtons }}
<a class="button is-medium is-{{ .color }}" href="{{ .url }}" target="_blank"> <a class="button is-medium is-{{ .color }}" href="{{ .url }}" target="_blank">
<span class="icon"> <span class="icon">
<i class="fab fa-{{ .icon }}"></i> <i class="fab fa-{{ .icon }}"></i>
@@ -12,7 +12,7 @@
{{ .name }} {{ .name }}
</span> </span>
</a> </a>
{{- end }} {{ end }}
</div> </div>
<div class="buttons"> <div class="buttons">

View File

@@ -1,7 +1,7 @@
{{- $jsFiles := (slice "anchor" "app") }} {{ $jsFiles := (slice "anchor" "app") }}
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
{{- range $jsFiles }} {{ range $jsFiles }}
{{- $path := printf "js/%s.js" . }} {{ $path := printf "js/%s.js" . }}
{{- $file := resources.Get $path | minify | fingerprint }} {{ $file := resources.Get $path | minify | fingerprint }}
<script src="{{ $file.RelPermalink }}" integrity="{{ $file.Data.Integrity }}"></script> <script src="{{ $file.RelPermalink }}" integrity="{{ $file.Data.Integrity }}"></script>
{{- end }} {{ end }}

View File

@@ -1,2 +1,41 @@
{{ $isHome := .IsHome }}
{{ $favicon := site.Params.favicon }}
{{ $isDoc := eq .Section "docs" }}
{{ $description := .Param "description" }}
{{ $title := cond $isHome site.Title .Title }}
{{ $pageType := cond $isHome "website" "article" }}
{{ $imageUrl := site.Params.logos.site }}
{{ $twitter := (index (where site.Params.social "name" "Twitter") 0).handle }}
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
<link rel="canonical" content="{{ .Permalink }}">
<link rel="shortcut icon" href="{{ $favicon }}">
{{ with $description }}
<meta name="description" content="{{ . }}">
{{ end }}
<!-- OpenGraph metadata -->
<meta property="og:title" content="{{ $title }}">
{{ if $isDoc }}
<meta property="og:type" content="documentation">
{{ end }}
<meta property="og:url" content="{{ .Permalink }}">
<meta property="og:locale" content="en_US">
{{ if not $isHome }}
<meta property="og:site_name" content="{{ site.Title }}">
{{ end }}
{{ with $description }}
<meta property="og:description" content="{{ . }}">
{{ end }}
<meta name="og:type" content="{{ $pageType }}">
<meta name="og:image" content="{{ $imageUrl }}">
<meta name="og:image:alt" content="{{ site.Title }} project logo">
<meta name="og:image:type" content="image/png">
<!-- Twitter Card metadata -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@{{ $twitter }}">
<meta name="twitter:creator" content="@{{ $twitter }}">
{{ .Hugo.Generator }}

View File

@@ -1,4 +1,4 @@
{{- $navbarLogo := .Site.Params.logos.navbar }} {{ $navbarLogo := site.Params.logos.navbar }}
<nav class="navbar is-fixed-top is-primary"> <nav class="navbar is-fixed-top is-primary">
<div class="container"> <div class="container">
<div class="navbar-brand"> <div class="navbar-brand">

View File

@@ -1,11 +1,11 @@
{{- $providers := .Site.Data.providers }} {{ $providers := site.Data.providers }}
<ul> <ul>
{{- range $providers }} {{ range $providers }}
{{- $url := printf "https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/%s" .tag }} {{ $url := printf "https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/%s" .tag }}
<li> <li>
<a href="{{ $url }}"> <a href="{{ $url }}">
{{ .name | markdownify }} {{ .name | markdownify }}
</a> </a>
</li> </li>
{{- end }} {{ end }}
</ul> </ul>

View File

@@ -1,6 +1,6 @@
{{- $src := .Get "src" }} {{ $src := .Get "src" }}
{{- $path := printf "static/%s" $src | relURL }} {{ $path := printf "static/%s" $src | relURL }}
{{- $figureId := $.Page.Scratch.Get "numFigures" }} {{ $figureId := $.Page.Scratch.Get "numFigures" }}
<figure id="figure-{{ $figureId }}"> <figure id="figure-{{ $figureId }}">
{{ $path | readFile | safeHTML }} {{ $path | readFile | safeHTML }}
<figcaption> <figcaption>