website: update release notes (#6590)

* move 2023.7 to 2023.8

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* move version dropdown from navbar to sidebar, and only have it on applicable sites

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* remove title instead of just hiding it

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* fix some styling for the mobile navbar sidebar

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* add social image

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* Optimised images with calibre/image-actions

* fix website tests

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

---------

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
This commit is contained in:
Jens L 2023-08-22 13:03:11 +02:00 committed by GitHub
parent 0472ef583c
commit d9f13e89c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 92 additions and 37 deletions

View File

@ -1,6 +1,6 @@
--- ---
title: Release 2023.7 title: Release 2023.8
slug: "/releases/2023.7" slug: "/releases/2023.8"
--- ---
## Breaking changes ## Breaking changes
@ -32,7 +32,7 @@ This release does not introduce any new requirements.
To upgrade, download the new docker-compose file and update the Docker stack with the new version, using these commands: To upgrade, download the new docker-compose file and update the Docker stack with the new version, using these commands:
``` ```
wget -O docker-compose.yml https://goauthentik.io/version/2023.7/docker-compose.yml wget -O docker-compose.yml https://goauthentik.io/version/2023.8/docker-compose.yml
docker-compose up -d docker-compose up -d
``` ```
@ -45,7 +45,7 @@ Update your values to use the new images:
```yaml ```yaml
image: image:
repository: ghcr.io/goauthentik/server repository: ghcr.io/goauthentik/server
tag: 2023.7.0 tag: 2023.8.0
``` ```
## Minor changes/fixes ## Minor changes/fixes

View File

@ -1,9 +1,4 @@
const fs = require("fs").promises; const fs = require("fs").promises;
const sidebar = require("./sidebars.js");
const releases = sidebar.docs
.filter((doc) => doc.link?.slug === "releases")[0]
.items.filter((release) => typeof release === "string");
/** @type {import('@docusaurus/types').DocusaurusConfig} */ /** @type {import('@docusaurus/types').DocusaurusConfig} */
module.exports = async function () { module.exports = async function () {
@ -21,8 +16,8 @@ module.exports = async function () {
organizationName: "Authentik Security Inc.", organizationName: "Authentik Security Inc.",
projectName: "authentik", projectName: "authentik",
themeConfig: { themeConfig: {
image: "img/social.png",
navbar: { navbar: {
title: "authentik",
logo: { logo: {
alt: "authentik logo", alt: "authentik logo",
src: "img/icon_left_brand.svg", src: "img/icon_left_brand.svg",
@ -49,26 +44,6 @@ module.exports = async function () {
label: "Pricing", label: "Pricing",
position: "left", position: "left",
}, },
{
type: "dropdown",
label: `Version: ${releases[0].replace(
/releases\/\d+\/v/,
"",
)}`,
position: "right",
items: releases.map((release) => {
const version = release.replace(
/releases\/\d+\/v/,
"",
);
const subdomain = version.replace(".", "-");
const label = `Version: ${version}`;
return {
label: label,
href: `https://version-${subdomain}.goauthentik.io`,
};
}),
},
{ {
href: "https://github.com/goauthentik/authentik", href: "https://github.com/goauthentik/authentik",
className: "header-github-link", className: "header-github-link",

View File

@ -1,5 +1,11 @@
module.exports = { const generateVersionDropdown =
require("./src/utils.js").generateVersionDropdown;
const docsSidebar = {
docs: [ docs: [
{
type: "html",
},
{ {
type: "doc", type: "doc",
id: "index", id: "index",
@ -351,3 +357,6 @@ module.exports = {
}, },
], ],
}; };
docsSidebar.docs[0].value = generateVersionDropdown(docsSidebar);
module.exports = docsSidebar;

View File

@ -1,5 +1,13 @@
const docsSidebar = require("./sidebars.js");
const generateVersionDropdown =
require("./src/utils.js").generateVersionDropdown;
module.exports = { module.exports = {
docs: [ docs: [
{
type: "html",
value: generateVersionDropdown(docsSidebar),
},
{ {
type: "doc", type: "doc",
id: "index", id: "index",

View File

@ -1,5 +1,13 @@
const docsSidebar = require("./sidebars.js");
const generateVersionDropdown =
require("./src/utils.js").generateVersionDropdown;
module.exports = { module.exports = {
integrations: [ integrations: [
{
type: "html",
value: generateVersionDropdown(docsSidebar),
},
{ {
type: "category", type: "category",
label: "Applications", label: "Applications",

View File

@ -26,18 +26,15 @@
box-shadow: none; box-shadow: none;
} }
/* Don't display text title */
.navbar__title {
display: none;
}
.navbar__logo { .navbar__logo {
margin: 0 0.75rem; margin: 0 0.75rem;
} }
/* Match color of light/dark theme switch */ /* Match color of light/dark theme switch */
.navbar__items--right svg { .navbar__items--right svg,
.navbar-sidebar__brand svg {
color: var(--white); color: var(--white);
stroke: var(--white);
} }
.hero--primary { .hero--primary {
@ -116,3 +113,27 @@ body {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
/* styling for version selector in sidebar */
.theme-doc-sidebar-menu .dropdown {
display: block;
padding: 0;
}
.theme-doc-sidebar-menu .navbar__link {
color: var(--ifm-menu-color);
}
.theme-doc-sidebar-menu .dropdown__menu {
left: 0;
}
.theme-doc-sidebar-menu hr {
margin-top: calc(var(--ifm-hr-margin-vertical) / 2);
}
/* Nav header background color on mobile */
.navbar-sidebar__brand,
.navbar-sidebar__items {
background-color: var(--ifm-color-primary);
}
.navbar-sidebar__items .menu__link {
color: var(--white);
}

31
website/src/utils.js Normal file
View File

@ -0,0 +1,31 @@
function generateVersionDropdown(sidebar) {
const releases = sidebar.docs
.filter((doc) => doc.link?.slug === "releases")[0]
.items.filter((release) => typeof release === "string");
const latest = releases[0].replace(/releases\/\d+\/v/, "");
return `<div class="navbar__item dropdown dropdown--hoverable dropdown--right">
<div aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link menu__link">
Version: ${latest}
</div>
<ul class="dropdown__menu">
${releases
.map((release) => {
const version = release.replace(/releases\/\d+\/v/, "");
const subdomain = `version-${version.replace(".", "-")}`;
const label = `Version: ${version}`;
return `<li>
<a
href="https://${subdomain}.goauthentik.io/docs"
target="_blank" rel="noopener noreferrer"
class="dropdown__link">${label}</a>
</li>`;
})
.join("")}
</ul>
</div>
<hr>`;
}
module.exports = {
generateVersionDropdown,
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -6,6 +6,9 @@ import glob from "glob";
const getSidebarItems = () => { const getSidebarItems = () => {
const allItems = []; const allItems = [];
const mapper = (category) => { const mapper = (category) => {
if (!category.items) {
return;
}
category.items.forEach((item) => { category.items.forEach((item) => {
if (item.constructor === String) { if (item.constructor === String) {
allItems.push(item); allItems.push(item);