Public
markdownBlogStarter
Viewing readonly version: 93View latest version
HTTP
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/** @jsxImportSource https://esm.sh/react@18.2.0 */
import Markdown from "https://esm.sh/react-markdown@9?deps=react@18.2.0";
import { renderToString } from "npm:react-dom@18.2.0/server";
import { Homepage } from "./homepage.tsx";
import { getPosts, type Post } from "./post_helpers.ts";
const posts = await getPosts();
function PostComponent({ post }: { post: Post }) {
return (
<div>
<Markdown>{post.content}</Markdown>
</div>
);
}
export default async function(req: Request): Promise<Response> {
console.log("foo".repeat(100));
return new Response(
renderToString(
<Homepage>
{posts.map((post) => <PostComponent post={post} />)}
</Homepage>,
),
{
headers: {
"content-type": "text/html;",
},
},
);
}
H
index.ts