Skip to content

Commit

Permalink
Fix Terminus Changelog (#9351)
Browse files Browse the repository at this point in the history
* add a console log for releases

* fix broken console logging

* Apply Prettier formatting

* update the graphql query to fix sorting

* Apply Prettier formatting

* remove the graphql filter

* Apply Prettier formatting

* don't display releases older than a year

* Apply Prettier formatting

* arbitrary change to trigger build

* filter releases earlier

* Apply Prettier formatting

* maybe fix filtering

* Apply Prettier formatting

* maybe fix filtering again

* Apply Prettier formatting

* change the title and remove the heading

* Align title in template file

* Align title in template file

---------

Co-authored-by: Pantheon Bot <[email protected]>
Co-authored-by: Rachel <[email protected]>
  • Loading branch information
3 people authored Dec 18, 2024
1 parent 2121e87 commit 6387e86
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 50 deletions.
4 changes: 1 addition & 3 deletions source/content/terminus/11-updates.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Terminus Guide
subtitle: Current Terminus Release, Changelog, and Updates
subtitle: Terminus Changelog
description: Stay up to date on the latest Terminus version.
terminuspage: true
type: terminuspage
Expand All @@ -16,8 +16,6 @@ product: [terminus]
integration: [--]
---

<TerminusVersion text="Update to the Current Release" />

## Changelog

<Releases />
Expand Down
78 changes: 45 additions & 33 deletions src/components/releases.js
Original file line number Diff line number Diff line change
@@ -1,49 +1,61 @@
import React from "react"
import { StaticQuery, graphql } from "gatsby"
import { MDXRenderer } from "gatsby-plugin-mdx"
import { MDXProvider } from "@mdx-js/react"
import React from 'react';
import { StaticQuery, graphql } from 'gatsby';
import { MDXRenderer } from 'gatsby-plugin-mdx';
import { MDXProvider } from '@mdx-js/react';
import { subYears, parseISO, isAfter } from 'date-fns';

import { headline1, headline2, headline3 } from "./releaseHeadlines"
import { headline1, headline2, headline3 } from './releaseHeadlines';

const shortcodes = {
h1: headline1,
h2: headline2,
h3: headline3,
}
};

const Releases = ({ data }) => (
<>
{data.allTerminusReleasesJson.edges.map((release, i) => {
return (
<div key={i}>
<h3 className="toc-ignore" id={release.node.tag_name}>
{release.node.tag_name}
</h3>
<MDXProvider components={shortcodes}>
<MDXRenderer>
{release.node.fields.markdownBody.childMdx.body}
</MDXRenderer>
</MDXProvider>
<hr />
</div>
)
})}
</>
)
const Releases = ({ data }) => {
const oneYearAgo = subYears(new Date(), 1);

export default props => (
// Safe Filtering: Ensure `published_at` exists before filtering
const filteredReleases = data.allTerminusReleasesJson.edges.filter(
(release) => {
const publishedDate = release.node.published_at;
return publishedDate && isAfter(parseISO(publishedDate), oneYearAgo);
},
);

return (
<>
{filteredReleases.length > 0 ? (
filteredReleases.map((release, i) => (
<div key={i}>
<h3 className="toc-ignore" id={release.node.tag_name}>
{release.node.tag_name}
</h3>
<MDXProvider components={shortcodes}>
<MDXRenderer>
{release.node.fields.markdownBody.childMdx.body}
</MDXRenderer>
</MDXProvider>
<hr />
</div>
))
) : (
<p>No recent releases found.</p>
)}
</>
);
};

export default (props) => (
<StaticQuery
query={graphql`
query {
allTerminusReleasesJson(
sort: { fields: [tag_name], order: DESC }
filter: { fields: { original_id: { gt: 5224487 } } }
) {
allTerminusReleasesJson(sort: { fields: [published_at], order: DESC }) {
edges {
node {
id
tag_name
body
published_at
fields {
markdownBody {
childMdx {
Expand All @@ -56,6 +68,6 @@ export default props => (
}
}
`}
render={data => <Releases data={data} {...props} />}
render={(data) => <Releases data={data} {...props} />}
/>
)
);
28 changes: 16 additions & 12 deletions src/components/terminusVersion.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
import React from "react"
import { useStaticQuery, graphql } from "gatsby"
import React from 'react';
import { useStaticQuery, graphql } from 'gatsby';

function TerminusVersion({ text }) {
const { terminusReleasesJson } = useStaticQuery(
graphql`
query {
terminusReleasesJson {
tag_name
const { allTerminusReleasesJson } = useStaticQuery(graphql`
query {
allTerminusReleasesJson(sort: { fields: [published_at], order: DESC }) {
edges {
node {
tag_name
}
}
}
`
)
}
`);

const latestRelease = allTerminusReleasesJson.edges[0].node.tag_name;

return (
<h2>
{text} {terminusReleasesJson.tag_name}
{text} {latestRelease}
</h2>
)
);
}

export default TerminusVersion
export default TerminusVersion;
2 changes: 1 addition & 1 deletion src/templates/terminusCommand.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const items = [
{
id: 'docs-terminus-updates',
link: '/terminus/updates',
title: 'Current Terminus Release and Changelog',
title: 'Terminus Changelog',
},

{
Expand Down
2 changes: 1 addition & 1 deletion src/templates/terminuspage.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const items = [
{
id: 'docs-terminus-updates',
link: '/terminus/updates',
title: 'Current Terminus Release and Changelog',
title: 'Terminus Changelog',
},

{
Expand Down

0 comments on commit 6387e86

Please sign in to comment.