Add publish dates (#9649)

* Add publish dates

* Sync metadata

* Fix listing to list regular pages with publishdate set

* Remove release versions

* Add newsfeed layout and make lists in news use the same layout as pages

* Fix link

* Fix clear on all radio buttons selected
This commit is contained in:
Brian Avery 2021-05-04 10:21:38 -04:00 committed by GitHub
parent e93a190a36
commit fca89893d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 242 additions and 116 deletions

View File

@ -5,6 +5,7 @@ linktitle: News
sidebar_multicard: true
icon: bullhorn
decoration: pill
type: newsfeed
outputs:
- html
- rss

View File

@ -1,7 +1,11 @@
---
title: Change Notes
release: 1.1
subtitle: Minor Release
linktitle: 1.1
description: Istio 1.1 release notes.
weight: 10
publishdate: 2019-03-19
aliases:
- /about/notes/1.1
---

View File

@ -1,6 +1,10 @@
---
title: Helm Changes
description: Details the Helm chart installation options differences between Istio 1.0 and Istio 1.1.
publishdate: 2019-03-19
release: 1.1
subtitle: Minor Release
linktitle: 1.1
weight: 30
keywords: []
---

View File

@ -1,6 +1,10 @@
---
title: Upgrade Notes
description: Important changes operators must understand before upgrading to Istio 1.1.
publishdate: 2019-03-19
release: 1.1
subtitle: Minor Release
linktitle: 1.1
weight: 20
---

View File

@ -1,6 +1,10 @@
---
title: Change Notes
release: 1.2
subtitle: Minor Release
linktitle: 1.2
description: Istio 1.2 release notes.
publishdate: 2019-06-18
weight: 10
aliases:
- /about/notes/1.2

View File

@ -1,6 +1,10 @@
---
title: Helm Changes
description: Details the Helm chart installation options differences between Istio 1.1 and Istio 1.2.
publishdate: 2019-06-18
release: 1.2
subtitle: Minor Release
linktitle: 1.2
weight: 30
keywords: []
---

View File

@ -1,6 +1,10 @@
---
title: Upgrade Notes
description: Important changes operators must understand before upgrading to Istio 1.2.
publishdate: 2019-06-18
release: 1.2
subtitle: Minor Release
linktitle: 1.2
weight: 20
---

View File

@ -1,6 +1,10 @@
---
title: Change Notes
description: Istio 1.3 release notes.
publishdate: 2019-09-12
release: 1.3
subtitle: Minor Release
linktitle: 1.3
weight: 10
aliases:
- /about/notes/1.3

View File

@ -2,7 +2,11 @@
title: Helm Changes
description: Details the Helm chart installation options differences between Istio 1.2 and Istio 1.3.
weight: 30
release: 1.3
subtitle: Minor Release
linktitle: 1.3
keywords: []
publishdate: 2019-09-12
aliases:
- /docs/reference/config/installation-options-changes
---

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.3.
weight: 20
publishdate: 2019-09-12
release: 1.3
subtitle: Minor Release
linktitle: 1.3
aliases:
- /docs/setup/kubernetes/upgrade/notice/
- /docs/setup/upgrade/notice

View File

@ -1,7 +1,11 @@
---
title: Change Notes
description: Istio 1.4 release notes.
release: 1.4
subtitle: Minor Release
linktitle: 1.4
weight: 10
publishdate: 2019-11-14
---
## Traffic management

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.4.
weight: 20
release: 1.4
subtitle: Minor Release
linktitle: 1.4
publishdate: 2019-11-14
---
This page describes changes you need to be aware of when upgrading from

View File

@ -2,6 +2,10 @@
title: Change Notes
description: Istio 1.5 release notes.
weight: 10
release: 1.5
subtitle: Minor Release
linktitle: 1.5
publishdate: 2020-03-05
---
## Traffic management

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.5.
weight: 20
release: 1.5
subtitle: Minor Release
linktitle: 1.5
publishdate: 2020-03-05
---
This page describes changes you need to be aware of when upgrading from

View File

@ -2,6 +2,10 @@
title: Change Notes
description: Istio 1.6 release notes.
weight: 10
release: 1.6
subtitle: Minor Release
linktitle: 1.6
publishdate: 2020-05-21
---
## Traffic Management

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.6.
weight: 20
release: 1.6
subtitle: Minor Release
linktitle: 1.6
publishdate: 2020-05-21
---
When you upgrade from Istio 1.5.x to Istio 1.6.x, you need to consider the changes on this page.

View File

@ -2,6 +2,10 @@
title: Change Notes
description: Istio 1.7 release notes.
weight: 10
release: 1.7
subtitle: Minor Release
linktitle: 1.7
publishdate: 2020-08-21
---
## Traffic Management

View File

@ -1,6 +1,10 @@
---
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.7.
publishdate: 2020-08-21
release: 1.7
subtitle: Minor Release
linktitle: 1.7
weight: 20
---

View File

@ -25,7 +25,7 @@ Here are some highlights for this release:
To codify all the knowledge on how to deploy and upgrade a mesh into software, we built the `IstioOperator` API and two different methods to install it - [istioctl install](/docs/setup/install/istioctl/) and the [Istio operator](/docs/setup/install/operator/). However, some of our users have a deployment workflow for other software based on Helm, and so in this release we've added support for [installing Istio with Helm 3](/docs/setup/install/helm/). This includes both [in-place upgrades](/docs/setup/install/helm/#in-place-upgrade) and [canary deployment of new control planes](/docs/setup/install/helm/#canary-upgrade), after installing 1.8 or later. Helm 3 support is currently Alpha, so please try it out and give your feedback.
Given the several methods of installation that Istio now supports, we've added a [which Istio installation method should I use?](about/faq/#install-method-selection) FAQ page to help users understand which method may be best suited to their particular use case.
Given the several methods of installation that Istio now supports, we've added a [which Istio installation method should I use?](/about/faq/#install-method-selection) FAQ page to help users understand which method may be best suited to their particular use case.
Vendors can now provide optimized profiles for installing Istio on their platform. [Installing Istio on OpenShift](/docs/setup/platform-setup/openshift/) is easier as a result!

View File

@ -2,6 +2,10 @@
title: Change Notes
description: Istio 1.8 release notes.
weight: 10
release: 1.8
subtitle: Minor Release
linktitle: 1.8
publishdate: 2020-11-19
---
## Known Issues
@ -223,4 +227,4 @@ best practices, incorporating recent updates to onboarding tooling. In
particular, the multi-primary configuration (formerly known as
"replicated control planes") no longer relies on manually configuring the
`.global` stub domain, preferring instead to use `*.svc.cluster.local` for
accessing services throughout the mesh.
accessing services throughout the mesh.

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.8.
weight: 20
release: 1.8
subtitle: Minor Release
linktitle: 1.8
publishdate: 2020-11-19
---
When you upgrade from Istio 1.7.x to Istio 1.8.x, you need to consider the changes on this page.
@ -137,4 +141,4 @@ ingressGateways:
## Connectivity issues among your proxies when updating from 1.7.x (where x < 5)
When upgrading your Istio data plane from 1.7.x (where x < 5) to 1.8, you may observe connectivity issues between your gateway and your sidecars or among your sidecars with 503 errors in the log. This happens when 1.7.5+ proxies send HTTP 1xx or 204 response codes with headers that 1.7.x proxies reject. To fix this, upgrade all your proxies (gateways and sidecars) to 1.7.5+ as soon as possible. ([Issue 29427](https://github.com/istio/istio/issues/29427), [More information](https://github.com/istio/istio/pull/28450))
When upgrading your Istio data plane from 1.7.x (where x < 5) to 1.8, you may observe connectivity issues between your gateway and your sidecars or among your sidecars with 503 errors in the log. This happens when 1.7.5+ proxies send HTTP 1xx or 204 response codes with headers that 1.7.x proxies reject. To fix this, upgrade all your proxies (gateways and sidecars) to 1.7.5+ as soon as possible. ([Issue 29427](https://github.com/istio/istio/issues/29427), [More information](https://github.com/istio/istio/pull/28450))

View File

@ -2,6 +2,10 @@
title: Change Notes
description: Istio 1.9.0 release notes.
weight: 10
release: 1.9
subtitle: Minor Release
linktitle: 1.9
publishdate: 2021-02-09
---
## Known Issues

View File

@ -2,6 +2,10 @@
title: Upgrade Notes
description: Important changes to consider when upgrading to Istio 1.9.0.
weight: 20
release: 1.9
subtitle: Minor Release
linktitle: 1.9
publishdate: 2021-02-09
---
When you upgrade from Istio 1.8 to Istio 1.9.x, you need to consider the changes on this page.

View File

@ -1,91 +1,13 @@
{{ define "main" }}
<main class="primary blog-content">
<div>
<article>
<h1>{{ .Params.title }}</h1>
<p class="blog-description">{{ .Params.description }}</p>
<!-- TODO: Replace placeholders -->
{{ $.Scratch.Set "categories" (slice ) }}
{{ $.Scratch.Set "noCategories" 0 }}
{{ $pages := (where .Site.RegularPages "Section" "news").ByPublishDate.Reverse }}
{{ $sections := .Sections }}
{{ range $sections }}
{{ if and ( eq ( printf "%T" .Params.data_category ) "string" ) ( eq ( printf "%T" .LinkTitle ) "string" ) }}
{{ if ( not ( in ($.Scratch.Get "categories") (delimit (slice .Params.data_category .LinkTitle ) "," ))) }}
{{ $.Scratch.Add "categories" (delimit (slice .Params.data_category .LinkTitle ) ",") }}
{{ end }}
{{ end }}
{{ end }}
<div class="year-buttons">
{{ range $.Scratch.Get "categories" }}
<div>
<button class="year-button" id='category-{{ index (split . ",") 0 | urlize }}' onclick="applyFilter(this)">
{{ index (split . ",") 1 }}
</button>
</div>
{{ end }}
</div>
<div class="posts-list news-list">
{{ range $item := $pages }}
{{ range $a := $sections }}
{{ if $a.IsAncestor $item }}
<a class="post-card tf-filter-item" href="{{ $item.RelPermalink }}" data-category='{{ $a.Params.data_category | urlize }}'
>
<div class="post-date">
<p>{{ ($item.Params.publishdate).Format "Jan 2, 2006" }}</p>
</div>
<div>
<h4 class="post-title">{{ $item.Title }}</h4>
<div class="post-summary">
<p>{{ $item.Params.description }}</p>
{{ if $item.Params.cves }}
<div><strong>CVE(s)</strong>: {{ range $i, $cve := $item.Params.cves }} {{ . }} {{ if ne $i (sub (len $item.Params.cves ) 1) }} , {{ end }} {{ end }}</div>
{{ end }}
{{ if $item.Params.cvss }}
<div><strong>CVSS</strong>: {{ with $item.Params.cvss }} {{ . }} {{ end }}</div>
{{ end }}
{{ if $item.Params.releases }}
<strong>Affected versions</strong>: {{ range $i, $cve := $item.Params.releases }} {{ . }} {{ if ne $i (sub (len $item.Params.releases ) 1) }}, {{ end }} {{ end }}
{{ end }}
</div>
<p class="post-author">{{ $a.LinkTitle }}</p>
</div>
</a>
{{ end }}
{{ end }}
{{ end }}
</div>
</article>
</div>
</main>
<script src='{{ "js/categories-filter.js" | relURL }}'></script>
<script>
var ptfConfig = {
filters: [
{
name: 'categories',
prefix: 'category-',
buttonClass: 'year-button',
allSelector: '#selectAllAuthors',
attrName: 'data-category',
}
],
showItemClass: "show-item",
filterItemClass: "tf-filter-item",
activeButtonClass: "active",
populateCount: true,
numberToView:999,
setDisabledButtonClass: "disable-button"
}
var ptf = new CategoriesFilter(ptfConfig);
function applyFilter (element) {
var category = element.id.split('category-');
ptf.checkFilter(category[1],'category-');
}
</script>
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<div class="header-content">
<h1>{{ .Params.title }}</h1>
<p>{{ .Params.description }}</p>
</div>
<p class="post-author">{{ (.Params.publishdate).Format "Jan 2, 2006" }}</p>
<div>
{{ .Content }}
</div>
{{ partial "posts_navigation.html" . }}
</article>
{{ end }}

View File

@ -0,0 +1,90 @@
{{ define "main" }}
<main class="primary blog-content">
<div>
<article>
<h1>{{ .Params.title }}</h1>
<p class="blog-description">{{ .Params.description }}</p>
<!-- TODO: Replace placeholders -->
{{ $.Scratch.Set "categories" (slice ) }}
{{ $.Scratch.Set "noCategories" 0 }}
{{ $pages := (where .Site.Pages "Section" "news").ByPublishDate.Reverse }}
{{ $sections := .Sections }}
{{ range $sections }}
{{ if and ( eq ( printf "%T" .Params.data_category ) "string" ) ( eq ( printf "%T" .LinkTitle ) "string" ) }}
{{ if ( not ( in ($.Scratch.Get "categories") (delimit (slice .Params.data_category .LinkTitle ) "," ))) }}
{{ $.Scratch.Add "categories" (delimit (slice .Params.data_category .LinkTitle ) ",") }}
{{ end }}
{{ end }}
{{ end }}
<div class="year-buttons">
{{ range $.Scratch.Get "categories" }}
<div>
<button class="year-button" id='category-{{ index (split . ",") 0 | urlize }}' onclick="applyFilter(this)">
{{ index (split . ",") 1 }}
</button>
</div>
{{ end }}
</div>
<div class="posts-list news-list">
{{ range $item := $pages }}
{{with $item.PublishDate}}
{{ range $a := $sections }}
{{ if $a.IsAncestor $item }}
<a class="post-card tf-filter-item" href="{{ $item.RelPermalink }}" data-category='{{ $a.Params.data_category | urlize }}'
>
<div class="post-date">
<p>{{ ($item.Params.publishdate).Format "Jan 2, 2006" }}</p>
</div>
<div>
<h4 class="post-title">{{ $item.Title }}</h4>
<div class="post-summary">
<p>{{ $item.Params.description }}</p>
{{ if $item.Params.cves }}
<div><strong>CVE(s)</strong>: {{ range $i, $cve := $item.Params.cves }} {{ . }} {{ if ne $i (sub (len $item.Params.cves ) 1) }} , {{ end }} {{ end }}</div>
{{ end }}
{{ if $item.Params.cvss }}
<div><strong>CVSS</strong>: {{ with $item.Params.cvss }} {{ . }} {{ end }}</div>
{{ end }}
{{ if $item.Params.releases }}
<strong>Affected versions</strong>: {{ range $i, $cve := $item.Params.releases }} {{ . }} {{ if ne $i (sub (len $item.Params.releases ) 1) }}, {{ end }} {{ end }}
{{ end }}
</div>
<p class="post-author">{{ $a.LinkTitle }}</p>
</div>
</a>
{{ end }}
{{ end }}
{{ end }}
{{ end }}
</div>
<script src='{{ "js/categories-filter.js" | relURL }}'></script>
<script>
var ptfConfig = {
filters: [
{
name: 'categories',
prefix: 'category-',
buttonClass: 'year-button',
allSelector: '#selectAllAuthors',
attrName: 'data-category',
}
],
showItemClass: "show-item",
filterItemClass: "tf-filter-item",
activeButtonClass: "active",
populateCount: true,
numberToView:999,
setDisabledButtonClass: "disable-button"
}
var ptf = new CategoriesFilter(ptfConfig);
function applyFilter (element) {
var category = element.id.split('category-');
ptf.checkFilter(category[1],'category-');
}
</script>
{{ end }}

36
layouts/newsfeed/rss.xml Normal file
View File

@ -0,0 +1,36 @@
{{ $home := .Site.BaseURL }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Istio News</title>
<description>Connect, secure, control, and observe services.</description>
{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
<link>{{ $home }}</link>
<image>
<url>{{ $home }}/favicons/android-192x192.png</url>
<link>{{ $home }}</link>
</image>
<category>Service mesh</category>
{{ $pages := (where .Site.Pages "Section" "news").ByPublishDate.Reverse }}
{{ range $post := $pages }}
{{ if and (not $post.Draft) $post.IsPage }}
<item>
<title>{{ $post.Title }}</title>
<description>{{ $post.Content | html }}</description>
<pubDate>{{ $post.PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
<link>{{ $post.Permalink }}</link>
<author>{{ $post.Params.attribution }}</author>
<guid isPermaLink="true">{{ $post.Permalink }}</guid>
{{ range $kw := $post.Keywords }}
<category>{{ $kw }}</category>
{{ end }}
</item>
{{ end }}
{{ end }}
</channel>
</rss>

View File

@ -0,0 +1,13 @@
{{ define "main" }}
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<div class="header-content">
<h1>{{ .Params.title }}</h1>
<p>{{ .Params.description }}</p>
</div>
<p class="post-author">{{ (.Params.publishdate).Format "Jan 2, 2006" }}</p>
<div>
{{ .Content }}
</div>
{{ partial "posts_navigation.html" . }}
</article>
{{ end }}

View File

@ -54,18 +54,13 @@
margin: 2.5em 1.15em 3.75em 0;
&:hover {
cursor: pointer;
background-color: $linkActiveColor;
color: #fff;
outline: 0;
-webkit-box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
-moz-box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
}
}
&:focus {
outline: 0;
-webkit-box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
-moz-box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
box-shadow: 2px 2px 15px 0 rgba(101, 126, 186, 1);
}
}
.active {

View File

@ -186,21 +186,6 @@ class CategoriesFilter {
*/
showCheck(filter, isInitial) {
/* If no tags/licenses selected, or all tags selected, SHOW ALL and DESELECT ALL BUTTONS. */
for ( var i = 0; i < this.FILTERS.length; i++ ) {
if( this.FILTERS[i]['name'] === filter ) {
if( (this.FILTERS[i]['selected'].length === 0) ||
(this.FILTERS[i]['selected'].length === this.FILTERS[i]['buttonTotal']) )
{
var iBtns = document.getElementsByClassName(this.FILTERS[i]['buttonClass']);
this.FILTERS[i]['selected'] = [];
for ( var j = 0; j < iBtns.length; j++ ) {
this.delClassIfPresent(iBtns[j], this.activeButtonClass);
}
//this.addClassIfMissing(document.querySelector(this.FILTERS[i]['allSelector']), this.activeButtonClass)
}
}
}
for ( var i = 0; i < this.filterItems.length; i++ ) {
/* First remove "show" class */
this.delClassIfPresent(this.filterItems[i], this.showItemClass);