docs: update releases page

This commit is contained in:
Daniel Lautzenheiser 2023-05-25 11:37:12 -04:00
parent 9149033aac
commit d0dba6dbf2
4 changed files with 152 additions and 22 deletions

View File

@ -1,43 +1,166 @@
{ {
"releases": [ "releases": [
{
"date": "2023-05-25T10:00:00.000Z",
"version": "v2.4.2",
"type": "patch"
},
{
"date": "2023-05-25T10:00:00.000Z",
"version": "v2.4.1",
"type": "patch"
},
{ {
"date": "2023-05-24T11:00:00.000Z", "date": "2023-05-24T11:00:00.000Z",
"version": "v2.4.0", "version": "v2.4.0",
"type": "minor",
"description": "Delimiter separated lists and expanded folder filter support" "description": "Delimiter separated lists and expanded folder filter support"
}, },
{
"date": "2023-05-18T10:00:00.000Z",
"version": "v2.3.4",
"type": "patch"
},
{
"date": "2023-05-16T10:00:00.000Z",
"version": "v2.3.3",
"type": "patch"
},
{
"date": "2023-05-15T10:00:00.000Z",
"version": "v2.3.2",
"type": "patch"
},
{
"date": "2023-05-12T10:00:00.000Z",
"version": "v2.3.1",
"type": "patch"
},
{ {
"date": "2023-05-12T10:53:00.000Z", "date": "2023-05-12T10:53:00.000Z",
"version": "v2.3.0", "version": "v2.3.0",
"type": "minor",
"description": "File drag and drop support for File and Image widgets" "description": "File drag and drop support for File and Image widgets"
}, },
{ {
"date": "2023-05-05T23:00:00.000Z", "date": "2023-05-05T23:00:00.000Z",
"version": "v2.2.0", "version": "v2.2.0",
"type": "minor",
"description": "Multi image support and markdown toolbar customization" "description": "Multi image support and markdown toolbar customization"
}, },
{ {
"date": "2023-04-25T14:28:00.000Z", "date": "2023-04-25T14:28:00.000Z",
"version": "v2.1.0", "version": "v2.1.0",
"type": "minor",
"description": "Prefix option for UUID widget." "description": "Prefix option for UUID widget."
}, },
{
"date": "2023-04-21T10:00:00.000Z",
"version": "v2.0.1",
"type": "patch"
},
{ {
"date": "2023-04-21T15:00:00.000Z", "date": "2023-04-21T15:00:00.000Z",
"version": "v2.0.0", "version": "v2.0.0",
"type": "major",
"description": "New UI and Media Library enchancements." "description": "New UI and Media Library enchancements."
}, },
{
"date": "2023-03-31T10:00:00.000Z",
"version": "v1.2.14",
"type": "patch"
},
{
"date": "2023-03-30T10:00:00.000Z",
"version": "v1.2.13",
"type": "patch"
},
{
"date": "2023-02-27T10:00:00.000Z",
"version": "v1.2.11",
"type": "patch"
},
{
"date": "2023-02-24T10:00:00.000Z",
"version": "v1.2.10",
"type": "patch"
},
{
"date": "2023-02-24T10:00:00.000Z",
"version": "v1.2.9",
"type": "patch"
},
{
"date": "2023-02-08T10:00:00.000Z",
"version": "v1.2.8",
"type": "patch"
},
{
"date": "2023-02-06T10:00:00.000Z",
"version": "v1.2.7",
"type": "patch"
},
{
"date": "2023-01-29T10:00:00.000Z",
"version": "v1.2.6",
"type": "patch"
},
{
"date": "2023-01-28T10:00:00.000Z",
"version": "v1.2.5",
"type": "patch"
},
{
"date": "2023-01-27T10:00:00.000Z",
"version": "v1.2.4",
"type": "patch"
},
{
"date": "2023-01-26T10:00:00.000Z",
"version": "v1.2.3",
"type": "patch"
},
{
"date": "2023-01-25T10:00:00.000Z",
"version": "v1.2.2",
"type": "patch"
},
{
"date": "2023-01-25T10:00:00.000Z",
"version": "v1.2.1",
"type": "patch"
},
{ {
"date": "2023-01-25T15:26:00.000Z", "date": "2023-01-25T15:26:00.000Z",
"version": "v1.2.0", "version": "v1.2.0",
"type": "minor",
"description": "Custom collection card templates." "description": "Custom collection card templates."
}, },
{
"date": "2023-01-24T10:00:00.000Z",
"version": "v1.1.3",
"type": "patch"
},
{
"date": "2023-01-23T10:00:00.000Z",
"version": "v1.1.2",
"type": "patch"
},
{
"date": "2023-01-22T10:00:00.000Z",
"version": "v1.1.1",
"type": "patch"
},
{ {
"date": "2023-01-18T15:44:00.000Z", "date": "2023-01-18T15:44:00.000Z",
"version": "v1.1.0", "version": "v1.1.0",
"type": "minor",
"description": "Gitea backend beta support. Side by side i18n editing." "description": "Gitea backend beta support. Side by side i18n editing."
}, },
{ {
"date": "2023-01-17T10:02:00.000Z", "date": "2023-01-17T10:02:00.000Z",
"version": "v1.0.0", "version": "v1.0.0",
"type": "major",
"description": "The first major release of Static CMS with an all-new UI, revamped documentation and much more." "description": "The first major release of Static CMS with an all-new UI, revamped documentation and much more."
} }
] ]

View File

@ -66,7 +66,8 @@ export interface HomepageData {
export interface Release { export interface Release {
readonly date: string; readonly date: string;
readonly version: string; readonly version: string;
readonly description: string; readonly type: 'major' | 'minor' | 'patch';
readonly description?: string;
} }
export interface DocsData { export interface DocsData {

View File

@ -3,10 +3,11 @@ import Card from '@mui/material/Card';
import CardActionArea from '@mui/material/CardActionArea'; import CardActionArea from '@mui/material/CardActionArea';
import CardContent from '@mui/material/CardContent'; import CardContent from '@mui/material/CardContent';
import Chip from '@mui/material/Chip'; import Chip from '@mui/material/Chip';
import { styled, useTheme } from '@mui/material/styles';
import Typography from '@mui/material/Typography'; import Typography from '@mui/material/Typography';
import { styled, useTheme } from '@mui/material/styles';
import Image from 'next/image'; import Image from 'next/image';
import Link from 'next/link'; import Link from 'next/link';
import { useMemo } from 'react';
import DateDisplay from '../components/DateDisplay'; import DateDisplay from '../components/DateDisplay';
import Container from '../components/layout/Container'; import Container from '../components/layout/Container';
@ -250,6 +251,8 @@ const StyledFeatureText = styled('div')`
const Home = ({ docsGroups, searchablePages }: DocsMenuProps) => { const Home = ({ docsGroups, searchablePages }: DocsMenuProps) => {
const theme = useTheme(); const theme = useTheme();
const majorMinorThemes = useMemo(() => releases.filter(r => r.type !== 'patch'), []);
return ( return (
<Page url="/" docsGroups={docsGroups} searchablePages={searchablePages} fullWidth> <Page url="/" docsGroups={docsGroups} searchablePages={searchablePages} fullWidth>
<StyledHomagePageContent> <StyledHomagePageContent>
@ -325,11 +328,11 @@ const Home = ({ docsGroups, searchablePages }: DocsMenuProps) => {
<Container> <Container>
<StyledReleasesSectionContent> <StyledReleasesSectionContent>
{[...Array(3)].map((_, index) => { {[...Array(3)].map((_, index) => {
if (index >= releases.length) { if (index >= majorMinorThemes.length) {
return null; return null;
} }
const release = releases[index]; const release = majorMinorThemes[index];
return ( return (
<CardActionArea <CardActionArea
key={release.version} key={release.version}

View File

@ -3,6 +3,8 @@ import AlertTitle from '@mui/material/AlertTitle';
import Box from '@mui/material/Box'; import Box from '@mui/material/Box';
import Typography from '@mui/material/Typography'; import Typography from '@mui/material/Typography';
import { styled } from '@mui/material/styles'; import { styled } from '@mui/material/styles';
import format from 'date-fns/format';
import parseISO from 'date-fns/parseISO';
import Link from 'next/link'; import Link from 'next/link';
import Container from '../components/layout/Container'; import Container from '../components/layout/Container';
@ -10,6 +12,7 @@ import Page from '../components/layout/Page';
import config from '../lib/config'; import config from '../lib/config';
import { getDocsMenuStaticProps } from '../lib/docs'; import { getDocsMenuStaticProps } from '../lib/docs';
import releaseData from '../lib/releases'; import releaseData from '../lib/releases';
import { isNotEmpty } from '../util/string.util';
import type { DocsMenuProps } from '../lib/docs'; import type { DocsMenuProps } from '../lib/docs';
@ -105,7 +108,7 @@ const Releases = ({ docsGroups, searchablePages }: DocsMenuProps) => {
A complete release history for Static CMS is available on GitHub. A complete release history for Static CMS is available on GitHub.
<br /> <br />
<br /> <br />
Changelogs for recent major releases can also be found below. Changelogs for all releases can also be found below.
</Typography> </Typography>
</StyledTitle> </StyledTitle>
</Container> </Container>
@ -126,24 +129,24 @@ const Releases = ({ docsGroups, searchablePages }: DocsMenuProps) => {
<StyledReleaseSection key={release.version}> <StyledReleaseSection key={release.version}>
<Typography variant="h3" color="primary.main"> <Typography variant="h3" color="primary.main">
<strong>{release.version}</strong> <strong>{release.version}</strong>
&nbsp;&nbsp;
<Box component="small" sx={{ fontSize: '16px', opacity: 0.75 }}>
{format(parseISO(release.date), 'MMM dd, yyyy')}
</Box>
</Typography> </Typography>
<Typography variant="body1" component="div" color="inherit"> <Typography
<Box variant="body1"
component="ul" component="div"
sx={{ color="inherit"
paddingLeft: '16px', sx={{ display: 'flex', flexDirection: 'column' }}
margin: '4px 0',
}}
> >
<li> {isNotEmpty(release.description) ? release.description : null}
<StyledLink <StyledLink
href={`${config.repo_url}/releases/tag/${release.version}`} href={`${config.repo_url}/releases/tag/${release.version}`}
target="_blank" target="_blank"
> >
Changelog Changelog
</StyledLink> </StyledLink>
</li>
</Box>
</Typography> </Typography>
</StyledReleaseSection> </StyledReleaseSection>
))} ))}