upstream #1

Merged
jblu merged 1007 commits from upstream into main 2024-11-04 22:35:57 -06:00
2 changed files with 19 additions and 11 deletions
Showing only changes of commit 8f646e3429 - Show all commits

View File

@ -85,17 +85,15 @@ export async function getFileBySlug(type, slug) {
export async function getAllFilesFrontMatter(type) { export async function getAllFilesFrontMatter(type) {
const files = fs.readdirSync(path.join(root, 'data', type)) const files = fs.readdirSync(path.join(root, 'data', type))
const allFrontMatter = files.reduce((allPosts, postSlug) => { const allFrontMatter = []
const source = fs.readFileSync(path.join(root, 'data', type, postSlug), 'utf8')
files.forEach((file) => {
const source = fs.readFileSync(path.join(root, 'data', type, file), 'utf8')
const { data } = matter(source) const { data } = matter(source)
return [ if (data.draft !== true) {
{ allFrontMatter.push({ ...data, slug: file.replace(/\.(mdx|md)/, '') })
...data, }
slug: postSlug.replace(/\.(mdx|md)/, ''), })
},
...allPosts,
]
}, [])
return allFrontMatter.sort((a, b) => dateSortDesc(a.date, b.date)) return allFrontMatter.sort((a, b) => dateSortDesc(a.date, b.date))
} }

View File

@ -3,6 +3,7 @@ import hydrate from 'next-mdx-remote/hydrate'
import { getFiles, getFileBySlug, getAllFilesFrontMatter } from '@/lib/mdx' import { getFiles, getFileBySlug, getAllFilesFrontMatter } from '@/lib/mdx'
import PostLayout from '@/layouts/PostLayout' import PostLayout from '@/layouts/PostLayout'
import MDXComponents from '@/components/MDXComponents' import MDXComponents from '@/components/MDXComponents'
import PageTitle from '@/components/PageTitle'
import generateRss from '@/lib/generate-rss' import generateRss from '@/lib/generate-rss'
export async function getStaticPaths() { export async function getStaticPaths() {
@ -40,10 +41,19 @@ export default function Blog({ post, prev, next }) {
return ( return (
<> <>
{frontMatter.draft !== true && ( {frontMatter.draft !== true ? (
<PostLayout frontMatter={frontMatter} prev={prev} next={next}> <PostLayout frontMatter={frontMatter} prev={prev} next={next}>
{content} {content}
</PostLayout> </PostLayout>
) : (
<div className="mt-24 text-center">
<PageTitle>
Under Construction{' '}
<span role="img" aria-label="roadwork sign">
🚧
</span>
</PageTitle>
</div>
)} )}
</> </>
) )