Roadmap to becoming a developer in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.1 KiB

import Error from "next/error";
import GuideLayout from 'layouts/guide';
import { serverOnlyProps } from 'lib/server';
import GuideHeader from 'components/guide-header';
import GuideBody from 'components/guide-body';
import SharePage from 'components/share-page';
import GuideFooter from 'components/guide-footer';
import { getRequestedGuide } from 'lib/guide';
import Helmet from 'components/helmet';
5 years ago
const Guide = ({ guide }) => {
if (!guide) {
return <Error statusCode={ 404 } />
}
const GuideContent = require(`../../data/guides/${guide.fileName}.md`).default;
5 years ago
return (
<GuideLayout>
<Helmet title={ guide.title } description={ guide.description } />
<GuideHeader guide={ guide } />
<GuideBody>
<GuideContent />
<SharePage title={ guide.title } url={ guide.url } twitterUsername={ guide.author.twitter } />
</GuideBody>
<GuideFooter guide={ guide } />
5 years ago
</GuideLayout>
);
};
Guide.getInitialProps = serverOnlyProps(async ({ req }) => {
5 years ago
return {
guide: await getRequestedGuide(req),
5 years ago
};
});
export default Guide;