@@ -6,41 +6,38 @@ import theme from "@/content/theme.md?raw";
6
6
import { markdownProcessor } from "@/server/md" ;
7
7
import { html } from "client:page" ;
8
8
import { html as colorHtml } from "client:page/color-generator" ;
9
- import type { Prerender } from "domco" ;
9
+ import type { Handler , Prerender } from "domco" ;
10
10
import { Injector } from "domco/injector" ;
11
- import { Hono } from "hono" ;
12
11
13
12
export const prerender : Prerender = [ "/" , "/color-generator" ] ;
14
13
15
- const { html : baseHtml } = markdownProcessor . process ( base ) ;
16
- const { html : proseHtml } = markdownProcessor . process ( prose ) ;
17
- const { html : overviewHtml } = markdownProcessor . process ( overview ) ;
18
- const { html : themeHtml } = markdownProcessor . process ( theme ) ;
19
- const { html : colorMdHtml } = markdownProcessor . process ( color ) ;
14
+ export const handler : Handler = ( req ) => {
15
+ const { pathname } = new URL ( req . url ) ;
20
16
21
- const app = new Hono ( ) ;
17
+ if ( pathname === "/" ) {
18
+ const { html : baseHtml } = markdownProcessor . process ( base ) ;
19
+ const { html : proseHtml } = markdownProcessor . process ( prose ) ;
20
+ const { html : overviewHtml } = markdownProcessor . process ( overview ) ;
21
+ const { html : themeHtml } = markdownProcessor . process ( theme ) ;
22
22
23
- app . get ( "/" , async ( c ) => {
24
- const page = new Injector ( html )
25
- . comment ( "prose" , proseHtml )
26
- . comment ( "base" , baseHtml )
27
- . comment ( "overview" , overviewHtml )
28
- . comment ( "theme" , themeHtml ) ;
23
+ const page = new Injector ( html )
24
+ . comment ( "prose" , proseHtml )
25
+ . comment ( "base" , baseHtml )
26
+ . comment ( "overview" , overviewHtml )
27
+ . comment ( "theme" , themeHtml ) ;
29
28
30
- return c . html ( page . toString ( ) ) ;
31
- } ) ;
29
+ return new Response ( page . toString ( ) , {
30
+ headers : { "Content-Type" : "text/html" } ,
31
+ } ) ;
32
+ } else if ( pathname === "/color-generator" ) {
33
+ const { html : colorMdHtml } = markdownProcessor . process ( color ) ;
32
34
33
- app . get ( "/color-generator" , async ( c ) => {
34
- const page = new Injector ( colorHtml ) . comment ( "content" , colorMdHtml ) ;
35
+ const page = new Injector ( colorHtml ) . comment ( "content" , colorMdHtml ) ;
35
36
36
- return c . html ( page . toString ( ) ) ;
37
- } ) ;
37
+ return new Response ( page . toString ( ) , {
38
+ headers : { "Content-Type" : "text/html" } ,
39
+ } ) ;
40
+ }
38
41
39
- // redirects from previous version
40
- app . get ( "/components/" , ( c ) => c . redirect ( "/" , 301 ) ) ;
41
-
42
- app . get ( "/fonts/" , ( c ) => c . redirect ( "/" , 301 ) ) ;
43
-
44
- app . get ( "/oklch/" , ( c ) => c . redirect ( "/color-generator" , 301 ) ) ;
45
-
46
- export const handler = app . fetch ;
42
+ return new Response ( "Not found" , { status : 404 } ) ;
43
+ } ;
0 commit comments