upstream #1
@ -1,11 +1,20 @@
|
|||||||
|
import { MDXRemote } from 'next-mdx-remote'
|
||||||
import Image from 'next/image'
|
import Image from 'next/image'
|
||||||
import CustomLink from './Link'
|
import CustomLink from './Link'
|
||||||
import Pre from './Pre'
|
import Pre from './Pre'
|
||||||
|
|
||||||
const MDXComponents = {
|
export const MDXComponents = {
|
||||||
Image,
|
Image,
|
||||||
a: CustomLink,
|
a: CustomLink,
|
||||||
pre: Pre,
|
pre: Pre,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MDXComponents
|
export const MDXLayoutRenderer = ({ layout, mdxSource, ...rest }) => {
|
||||||
|
const LayoutComponent = require(`../layouts/${layout}`).default
|
||||||
|
|
||||||
|
return (
|
||||||
|
<LayoutComponent {...rest}>
|
||||||
|
<MDXRemote {...mdxSource} components={MDXComponents} />
|
||||||
|
</LayoutComponent>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import MDXComponents from '@/components/MDXComponents'
|
import { MDXComponents } from '@/components/MDXComponents'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import matter from 'gray-matter'
|
import matter from 'gray-matter'
|
||||||
import { serialize } from 'next-mdx-remote/serialize'
|
import { serialize } from 'next-mdx-remote/serialize'
|
||||||
|
@ -7,7 +7,7 @@ import Head from 'next/head'
|
|||||||
|
|
||||||
import { SEO } from '@/components/SEO'
|
import { SEO } from '@/components/SEO'
|
||||||
import LayoutWrapper from '@/components/LayoutWrapper'
|
import LayoutWrapper from '@/components/LayoutWrapper'
|
||||||
import MDXComponents from '@/components/MDXComponents'
|
import { MDXComponents } from '@/components/MDXComponents'
|
||||||
|
|
||||||
export default function App({ Component, pageProps }) {
|
export default function App({ Component, pageProps }) {
|
||||||
return (
|
return (
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { MDXRemote } from 'next-mdx-remote'
|
import { MDXRemote } from 'next-mdx-remote'
|
||||||
import MDXComponents from '@/components/MDXComponents'
|
import { MDXComponents } from '@/components/MDXComponents'
|
||||||
import AuthorLayout from '@/layouts/AuthorLayout'
|
import AuthorLayout from '@/layouts/AuthorLayout'
|
||||||
import { getFileBySlug } from '@/lib/mdx'
|
import { getFileBySlug } from '@/lib/mdx'
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import { MDXRemote } from 'next-mdx-remote'
|
|
||||||
import MDXComponents from '@/components/MDXComponents'
|
|
||||||
import PageTitle from '@/components/PageTitle'
|
import PageTitle from '@/components/PageTitle'
|
||||||
import PostLayout from '@/layouts/PostLayout'
|
|
||||||
import generateRss from '@/lib/generate-rss'
|
import generateRss from '@/lib/generate-rss'
|
||||||
|
import { MDXLayoutRenderer } from '@/components/MDXComponents'
|
||||||
import { formatSlug, getAllFilesFrontMatter, getFileBySlug, getFiles } from '@/lib/mdx'
|
import { formatSlug, getAllFilesFrontMatter, getFileBySlug, getFiles } from '@/lib/mdx'
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
@ -44,9 +42,14 @@ export default function Blog({ post, authorDetails, prev, next }) {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{frontMatter.draft !== true ? (
|
{frontMatter.draft !== true ? (
|
||||||
<PostLayout frontMatter={frontMatter} authorDetails={authorDetails} prev={prev} next={next}>
|
<MDXLayoutRenderer
|
||||||
<MDXRemote {...mdxSource} components={MDXComponents} />
|
layout={frontMatter.layout || 'PostLayout'}
|
||||||
</PostLayout>
|
mdxSource={mdxSource}
|
||||||
|
frontMatter={frontMatter}
|
||||||
|
authorDetails={authorDetails}
|
||||||
|
prev={prev}
|
||||||
|
next={next}
|
||||||
|
/>
|
||||||
) : (
|
) : (
|
||||||
<div className="mt-24 text-center">
|
<div className="mt-24 text-center">
|
||||||
<PageTitle>
|
<PageTitle>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user