Case Studies /

← Back to Case Studies

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;