@@ -57,7 +57,7 @@ export async function generateDocumentFromContent(id: string, content: string):
5757 return null
5858}
5959
60- async function generateDocumentFromYAMLContent ( id : string , content : string ) : Promise < DatabaseItem | null > {
60+ async function generateDocumentFromYAMLContent ( id : string , content : string ) : Promise < DatabaseItem > {
6161 const { data } = parseFrontMatter ( `---\n${ content } \n---` )
6262
6363 // Keep array contents under `body` key
@@ -68,14 +68,16 @@ async function generateDocumentFromYAMLContent(id: string, content: string): Pro
6868 }
6969
7070 return {
71+ id,
72+ extension : ContentFileExtension . YAML ,
73+ stem : id . split ( '.' ) . slice ( 0 , - 1 ) . join ( '.' ) ,
7174 meta : { } ,
7275 ...parsed ,
7376 body : parsed . body || parsed ,
74- id,
75- } as unknown as DatabaseItem
77+ } as DatabaseItem
7678}
7779
78- async function generateDocumentFromJSONContent ( id : string , content : string ) : Promise < DatabaseItem | null > {
80+ async function generateDocumentFromJSONContent ( id : string , content : string ) : Promise < DatabaseItem > {
7981 let parsed : Record < string , unknown > = destr ( content )
8082
8183 // Keep array contents under `body` key
@@ -87,14 +89,16 @@ async function generateDocumentFromJSONContent(id: string, content: string): Pro
8789 }
8890
8991 return {
92+ id,
93+ extension : ContentFileExtension . JSON ,
94+ stem : id . split ( '.' ) . slice ( 0 , - 1 ) . join ( '.' ) ,
9095 meta : { } ,
9196 ...parsed ,
9297 body : parsed . body || parsed ,
93- id,
94- } as unknown as DatabaseItem
98+ } as DatabaseItem
9599}
96100
97- async function generateDocumentFromMarkdownContent ( id : string , content : string ) : Promise < DatabaseItem | null > {
101+ async function generateDocumentFromMarkdownContent ( id : string , content : string ) : Promise < DatabaseItem > {
98102 const document = await parseMarkdown ( content , {
99103 remark : {
100104 plugins : {
@@ -107,6 +111,8 @@ async function generateDocumentFromMarkdownContent(id: string, content: string):
107111 } ,
108112 } )
109113
114+ console . log ( 'document =>' , document )
115+
110116 // Remove nofollow from links
111117 visit ( document . body , ( node : Node ) => ( node as MDCElement ) . type === 'element' && ( node as MDCElement ) . tag === 'a' , ( node : Node ) => {
112118 if ( ( node as MDCElement ) . props ?. rel ?. join ( ' ' ) === 'nofollow' ) {
@@ -119,7 +125,12 @@ async function generateDocumentFromMarkdownContent(id: string, content: string):
119125 return {
120126 id,
121127 meta : { } ,
122- body,
128+ extension : ContentFileExtension . Markdown ,
129+ stem : id . split ( '.' ) . slice ( 0 , - 1 ) . join ( '.' ) ,
130+ body : {
131+ ...body ,
132+ toc : document . toc ,
133+ } ,
123134 ...document . data ,
124- } as unknown as DatabaseItem
135+ } as DatabaseItem
125136}
0 commit comments