import fs from 'fs'; import path from 'path'; import matter from 'gray-matter'; import ReactMarkdown from 'react-markdown'; import Head from 'next/head' import Image from 'next/image' import styles from '../../styles/Home.module.css' import Navbar from '../../components/navbar' import Footer from '../../components/footer'
export async function getStaticPaths() { const caseStudyDirectory = path.join(process.cwd(), 'pages', 'casestudies'); const fileNames = fs.readdirSync(caseStudyDirectory);
const paths = fileNames.map((fileName) => { const slug = fileName.replace('.md', '').replace(/ /g, '-'); return { params: { slug }, }; });
return { paths, fallback: false, }; }
export async function getStaticProps({ params }) {
const caseStudyDirectory = path.join(process.cwd(), 'pages', 'casestudies');
const slug = params.slug;
const fileName = ${slug}.md
;
const filePath = path.join(caseStudyDirectory, fileName);
const fileContent = fs.readFileSync(filePath, 'utf-8');
const { data, content } = matter(fileContent);
return { props: { data, content, }, }; }
function CaseStudyPage({ data, content }) { return ( <div> <h2>{data.title}</h2> <ReactMarkdown>{content}</ReactMarkdown> </div> ); }
export default CaseStudyPage;