feat: splitpages now have better rich content support
This commit is contained in:
parent
ebd30647cb
commit
9331a27397
|
@ -21,7 +21,7 @@ export default function BlogPost(props: Props) {
|
||||||
dispatch(setPageType(PageType.POST));
|
dispatch(setPageType(PageType.POST));
|
||||||
dispatch(setPostTitle(post.title));
|
dispatch(setPostTitle(post.title));
|
||||||
}
|
}
|
||||||
}, []);
|
}, [dispatch, post]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -58,9 +58,10 @@ export async function getStaticProps({ params }) {
|
||||||
page = await cms.fetchPageById(SideMenuItem[id]);
|
page = await cms.fetchPageById(SideMenuItem[id]);
|
||||||
} else {
|
} else {
|
||||||
page = await cms.fetchEntryBySlug(url, 'post');
|
page = await cms.fetchEntryBySlug(url, 'post');
|
||||||
|
}
|
||||||
|
|
||||||
// embedded links in post body need metadata for preview
|
// embedded links in post body need metadata for preview
|
||||||
page.body = await generateLinkMeta(page.body);
|
page.body = await generateLinkMeta(page.body);
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -48,9 +48,10 @@ export const getServerSideProps: GetServerSideProps = async (
|
||||||
let query = slug;
|
let query = slug;
|
||||||
if (slug.indexOf('blog/') >= 0) query = slug.split('blog/')[1];
|
if (slug.indexOf('blog/') >= 0) query = slug.split('blog/')[1];
|
||||||
page = await cms.fetchEntryPreview(query, 'post');
|
page = await cms.fetchEntryPreview(query, 'post');
|
||||||
|
}
|
||||||
|
|
||||||
// embedded links in post body need metadata for preview
|
// embedded links in post body need metadata for preview
|
||||||
page.body = await generateLinkMeta(page.body);
|
page.body = await generateLinkMeta(page.body);
|
||||||
}
|
|
||||||
|
|
||||||
console.log(`Built Preview %c${slug}`, 'color: purple;');
|
console.log(`Built Preview %c${slug}`, 'color: purple;');
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -2,8 +2,8 @@ import { Block, Document, Inline } from '@contentful/rich-text-types';
|
||||||
import {
|
import {
|
||||||
ContentfulClientApi,
|
ContentfulClientApi,
|
||||||
EntryCollection,
|
EntryCollection,
|
||||||
createClient,
|
|
||||||
Tag,
|
Tag,
|
||||||
|
createClient,
|
||||||
} from 'contentful';
|
} from 'contentful';
|
||||||
import {
|
import {
|
||||||
IAuthor,
|
IAuthor,
|
||||||
|
@ -335,7 +335,7 @@ export class CmsApi {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
public convertPage = (rawData): ISplitPage => {
|
public convertPage = (rawData: any): ISplitPage => {
|
||||||
const rawPage = rawData.fields;
|
const rawPage = rawData.fields;
|
||||||
const rawHero = rawPage?.hero ? rawPage?.hero?.fields : null;
|
const rawHero = rawPage?.hero ? rawPage?.hero?.fields : null;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue