File tree Expand file tree Collapse file tree 3 files changed +36
-3
lines changed Expand file tree Collapse file tree 3 files changed +36
-3
lines changed Original file line number Diff line number Diff line change @@ -35,9 +35,13 @@ app.notFound = (c) => {
35
35
) ;
36
36
} ;
37
37
38
+ const docPrerender = docs . getSlugs ( ) . map ( ( slug ) => "/" + slug ) ;
39
+
38
40
app . prerender = [
39
41
home . page . pathname ( ) ,
40
- ...docs . getSlugs ( ) . map ( ( slug ) => "/" + slug ) ,
42
+ docs . llms . pathname ( ) ,
43
+ ...docPrerender ,
44
+ ...docPrerender . map ( ( p ) => p + ".md" ) ,
41
45
] ;
42
46
43
47
app . use (
@@ -87,6 +91,6 @@ if (import.meta.env.DEV) {
87
91
} ) ;
88
92
}
89
93
90
- app . add ( home , docs . page , demo ) ;
94
+ app . add ( home , docs . page , docs . llms , demo ) ;
91
95
92
96
export default app ;
Original file line number Diff line number Diff line change 1
1
import type { FrontmatterSchema } from "@/lib/md" ;
2
+ import * as homeResult from "@/server/home/index.md" ;
2
3
import { Head } from "@/ui/head" ;
3
4
import type { Result } from "@robino/md" ;
4
5
import clsx from "clsx" ;
@@ -20,11 +21,38 @@ export const getSlugs = () => {
20
21
21
22
export const getContent = ( slug : string ) => content [ `/server/docs/${ slug } .md` ] ;
22
23
24
+ const getMd = ( result : Result < typeof FrontmatterSchema > ) => {
25
+ return `# ${ result . frontmatter . title } \n\n${
26
+ result . frontmatter . description
27
+ } ${ result . article } `;
28
+ } ;
29
+
30
+ export const llms = new Get ( "/llms.txt" , ( c ) =>
31
+ c . text (
32
+ [ homeResult , ...Object . values ( content ) ]
33
+ . map ( ( result ) => getMd ( result ) )
34
+ . join ( "\n" ) ,
35
+ ) ,
36
+ ) ;
37
+
23
38
export const page = new Get ( "/:slug" , ( c ) => {
39
+ let md = false ;
40
+
41
+ if ( c . params . slug . endsWith ( ".md" ) ) {
42
+ md = true ;
43
+ c . params . slug = c . params . slug . slice ( 0 , - 3 ) ;
44
+ }
45
+
24
46
const result = getContent ( c . params . slug ) ;
25
47
26
48
if ( ! result ) return ;
27
49
50
+ if ( md ) {
51
+ return c . res ( getMd ( result ) , {
52
+ headers : { "Content-Type" : "text/markdown; charset=UTF-8" } ,
53
+ } ) ;
54
+ }
55
+
28
56
c . head ( < Head { ...result . frontmatter } /> ) ;
29
57
30
58
return (
Original file line number Diff line number Diff line change @@ -115,6 +115,7 @@ const NavList = () => {
115
115
{ docs . getSlugs ( ) . map ( ( slug ) => {
116
116
return < NavLink slug = { slug } /> ;
117
117
} ) }
118
+ < NavLink slug = { docs . llms . pathname ( ) . slice ( 1 ) } />
118
119
</ ul >
119
120
120
121
< hr />
@@ -174,7 +175,7 @@ const NavLink = (props: { slug?: string; anchor?: JSX.Element }) => {
174
175
) }
175
176
href = { href }
176
177
>
177
- { props . slug . split ( "-" ) . slice ( 1 ) . join ( " " ) }
178
+ { props . slug . split ( "-" ) . slice ( 1 ) . join ( " " ) || props . slug }
178
179
</ a >
179
180
</ li >
180
181
) ;
You can’t perform that action at this time.
0 commit comments