28 lines
708 B
Plaintext
28 lines
708 B
Plaintext
---
|
|
import { getBlog } from '../../lib/apis/legacy/blog'
|
|
import BaseLayout from '../../layout/BaseLayout.astro'
|
|
import { MarkdocTreeRender } from '../../components/MarkdocRenderer.tsx'
|
|
import { toMarkdocTree } from '../../lib/markdoc'
|
|
|
|
export const prerender = false
|
|
|
|
const { blog_id = '' } = Astro.params
|
|
const blog_id_num = parseInt(blog_id)
|
|
|
|
if (isNaN(blog_id_num) || blog_id_num < 0) {
|
|
return Astro.redirect('/404')
|
|
}
|
|
|
|
const blogData = await getBlog(blog_id_num)
|
|
if (blogData === null) {
|
|
return Astro.redirect('/404')
|
|
}
|
|
|
|
const tree = await toMarkdocTree(blogData.content)
|
|
---
|
|
|
|
<!-- <BaseLayout set:html={blogRendered} /> -->
|
|
<BaseLayout>
|
|
<MarkdocTreeRender tree={tree} client:load />
|
|
</BaseLayout>
|