diff --git a/src/theme/BlogPostItem/Header/index.tsx b/src/theme/BlogPostItem/Header/index.tsx new file mode 100644 index 000000000..2ad61d1b6 --- /dev/null +++ b/src/theme/BlogPostItem/Header/index.tsx @@ -0,0 +1,31 @@ +import React, {type ReactNode} from 'react'; +import Header from '@theme-original/BlogPostItem/Header'; +import type HeaderType from '@theme/BlogPostItem/Header'; +import type {WrapperProps} from '@docusaurus/types'; +import {useBlogPost} from '@docusaurus/plugin-content-blog/client'; +import Admonition from '@theme/Admonition'; + +type Props = WrapperProps; + +export default function HeaderWrapper(props: Props): ReactNode { + const { metadata: { date: postDate } } = useBlogPost(); + + const postAgeInYears = Math.floor((Date.now() - new Date(postDate).getTime()) / (1000 * 60 * 60 * 24 * 365)); + + const postIsOld = postAgeInYears >= 1; + + return ( + <> + { + postIsOld ? ( + +

+ This blog post is over { postAgeInYears } { postAgeInYears === 1 ? 'year' : 'years' } old. +

+
+ ) : null + } +
+ + ); +}