blob: 232034abe339251a71d98b0c432307f12d594712 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import React from 'react';
import Link from '@docusaurus/Link';
import Layout from '@theme/Layout';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import {useVersions, useLatestVersion} from '@theme/hooks/useDocs';
import versionsReleaseNoteOnly from '@site/versionsReleaseNoteOnly.json';
function Version() {
const versions = useVersions();
const latestVersion = useLatestVersion();
const {
siteConfig
} = useDocusaurusContext();
const currentVersion = versions.find((version) => version.name === 'current');
const pastVersions = versions.filter(
(version) => version !== latestVersion && version.name !== 'current',
);
const repoUrl = `https://github.com/${siteConfig.organizationName}/${siteConfig.projectName}`;
console.log(siteConfig);
console.log(latestVersion);
console.log(currentVersion);
return (
<Layout
title="Versions"
description="Submarine Versions page listing all documented site versions">
<main className="container margin-vert--lg">
<h1>Submarine documentation versions</h1>
{latestVersion && (
<div className="margin-bottom--lg">
<h3 id="next">Current version (Stable)</h3>
<p>
Here you can find the documentation for current released version.
</p>
<table>
<tbody>
<tr>
<th>{latestVersion.label}</th>
<td>
<Link to={latestVersion.path + "/" + latestVersion.mainDocId}>Documentation</Link>
</td>
<td>
<a href={`/releases/submarine-release-${latestVersion.name}`}>
Release Notes
</a>
</td>
</tr>
</tbody>
</table>
</div>
)}
{currentVersion !== latestVersion && (
<div className="margin-bottom--lg">
<h3 id="latest">Next version (Unreleased)</h3>
<p>
Here you can find the documentation for work-in-process unreleased
version.
</p>
<table>
<tbody>
<tr>
<th>{currentVersion.label}</th>
<td>
<Link to={currentVersion.path + "/" + currentVersion.mainDocId}>Documentation</Link>
</td>
<td>
<Link to={repoUrl}>Source code</Link>
</td>
</tr>
</tbody>
</table>
</div>
)}
{(pastVersions.length + versionsReleaseNoteOnly.length) > 0 && (
<div className="margin-bottom--lg">
<h3 id="archive">Past versions (Not maintained anymore)</h3>
<p>
Here you can find documentation for previous versions of
Submarine.
</p>
<table>
<tbody>
{pastVersions.map((version) => (
<tr key={version.name}>
<th>{version.label}</th>
<td>
<Link to={version.path}>Documentation</Link>
</td>
<td>
<a href={`/releases/submarine-release-${version.name}`}>
Release Notes
</a>
</td>
</tr>
))}
{versionsReleaseNoteOnly.map((version) => (
<tr key={version}>
<th>{version}</th>
<td>
Documentation
</td>
<td>
<a href={`/releases/submarine-release-${version}`}>
Release Notes
</a>
</td>
</tr>
))}
</tbody>
</table>
</div>
)}
</main>
</Layout>
);
}
export default Version;