feat: 归档渲染

This commit is contained in:
2026-07-05 22:33:50 +08:00
parent 4c20ee73d3
commit e67829562d
11 changed files with 1018 additions and 62 deletions

View File

@@ -1,18 +1,31 @@
---
import Layout from "@/layouts/Layout.astro";
import {http} from "@/lib/request.ts";
import {highlightHtmlWithJsdom} from "@/lib/highlight.js";
import 'github-markdown-css/github-markdown-light.css';
const { slug } = Astro.params;
const str = `
<h1>Sample Post Title</h1>
<p>This is a sample blog post content for the post with slug: </p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
`;
interface Post {
title: string;
summary: string;
slug: string;
cover: string;
published_at: string;
content_html: string;
}
const {data} = await http.get<ApiResponse<Post>>(`post/${slug}`);
const content = await highlightHtmlWithJsdom(data.content_html)
---
<Layout>
<div class="post" set:html={str}>
<h1>{data.title}</h1>
<div>{data.published_at}</div>
<div class="post markdown-body" set:html={content}>
</div>
</Layout>