Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/danielroe/roe.dev. This is the code and content for my personal website, built in Nuxt. roe.dev
Something went wrong. Try again.
719 B · 22 lines
TypeScript
at commit c0ffbbff
1234567891011121314151617181920212223import { MDCRenderer } from '#components'import { blogBodyLoaders } from '#build/markdown/blog/index.mjs'import { pageBodyLoaders } from '#build/markdown/page/index.mjs'
export default defineComponent({ props: { collection: { type: String as () => 'page' | 'blog', required: true }, path: { type: String, required: true }, }, async setup (props) { const slug = props.path.replace(/^\/(?:blog\/)?/, '').replace(/\/$/, '') const loaders = props.collection === 'blog' ? blogBodyLoaders : pageBodyLoaders const loader = loaders[slug]
if (!loader) { return () => null }
const parsed = await loader() return () => h(MDCRenderer, { body: parsed.body, tag: 'div' }) },})