Skip to content

Commit a876cf8

Browse files
committed
[docs] Add labels to versions under releasing
1 parent 89fdfad commit a876cf8

File tree

2 files changed

+61
-4
lines changed

2 files changed

+61
-4
lines changed

website/docusaurus.config.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import {themes as prismThemes} from 'prism-react-renderer';
1919
import type {Config} from '@docusaurus/types';
2020
import type * as Preset from '@docusaurus/preset-classic';
2121
import versionReplace from './src/plugins/remark-version-replace/index';
22+
import { loadVersionData } from './src/utils/versionData';
23+
const { versionsMap, latestVersion } = loadVersionData();
2224

2325
const config: Config = {
2426
title: 'Apache Fluss™ (Incubating)',
@@ -56,10 +58,12 @@ const config: Config = {
5658
'classic',
5759
{
5860
docs: {
59-
sidebarPath: './sidebars.ts',
60-
editUrl: ({docPath}) =>
61-
`https://github.com/apache/fluss/edit/main/website/docs/${docPath}`,
62-
remarkPlugins: [versionReplace],
61+
sidebarPath: './sidebars.ts',
62+
editUrl: ({docPath}) =>
63+
`https://github.com/apache/fluss/edit/main/website/docs/${docPath}`,
64+
remarkPlugins: [versionReplace],
65+
lastVersion: latestVersion,
66+
versions: versionsMap
6367
},
6468
blog: {
6569
showReadingTime: false,

website/src/utils/versionData.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
const pathToFluss = '../../fluss-versions.json';
19+
const pathToVersions = '../../versions.json';
20+
21+
export function loadVersionData(): { versionsMap: Record<string, any>, latestVersion: string} {
22+
const fluss_versions: Array<any> = require(pathToFluss);
23+
const flussVersionMap = new Map<string, any>();
24+
fluss_versions.forEach((v) => {
25+
flussVersionMap.set(v.shortVersion, v.released);
26+
});
27+
28+
let versions: Array<string> = [];
29+
try {
30+
versions = require(pathToVersions);
31+
} catch (e) {
32+
versions = [];
33+
}
34+
35+
let latestVersion: string = 'current';
36+
const versionsMap: Record<string, any> = Object.fromEntries([
37+
['current', { label: 'Next', path: 'next', banner: 'unreleased' }],
38+
...versions.map((item: string) => {
39+
if (flussVersionMap.get(item)) {
40+
if (latestVersion === 'current') {
41+
latestVersion = item;
42+
return [item, { label: item, banner: 'none' }];
43+
} else {
44+
return [item, { label: item, path: item, banner: 'unmaintained' }];
45+
}
46+
} else {
47+
return [item, { label: item + ' 🚧', path: item, banner: 'unreleased' }];
48+
}
49+
}),
50+
]);
51+
52+
return {versionsMap, latestVersion};
53+
}

0 commit comments

Comments
 (0)