@@ -3,9 +3,9 @@ import { ensure } from './utils/ensure'
33import type { CollectionInfo , CollectionItemBase , CollectionSource , DatabaseAdapter } from '@nuxt/content'
44import type { ContentDatabaseAdapter } from '../types/content'
55import { getCollectionByFilePath , generateIdFromFsPath , generateRecordDeletion , generateRecordInsert , generateFsPathFromId , getCollectionById } from './utils/collection'
6- import { applyCollectionSchema , isDocumentMatchingContent , generateDocumentFromContent , generateContentFromDocument , areDocumentsEqual , pickReservedKeysFromDocument , removeReservedKeysFromDocument , sanitizeDocument } from './utils/document'
6+ import { applyCollectionSchema , isDocumentMatchingContent , generateDocumentFromContent , generateContentFromDocument , areDocumentsEqual , pickReservedKeysFromDocument , removeReservedKeysFromDocument , sanitizeDocumentTree } from './utils/document'
77import { kebabCase } from 'scule'
8- import type { StudioHost , StudioUser , DatabaseItem , MediaItem , Repository , MarkdownParsingOptions } from 'nuxt-studio/app'
8+ import type { StudioHost , StudioUser , DatabaseItem , MediaItem , Repository } from 'nuxt-studio/app'
99import type { RouteLocationNormalized , Router } from 'vue-router'
1010// @ts -expect-error queryCollection is not defined in .nuxt/imports.d.ts
1111import { clearError , getAppManifest , queryCollection , queryCollectionItemSurroundings , queryCollectionNavigation , queryCollectionSearchSections , useRuntimeConfig } from '#imports'
@@ -204,7 +204,7 @@ export function useStudioHost(user: StudioUser, repository: Repository): StudioH
204204 return undefined
205205 }
206206
207- return sanitizeDocument ( {
207+ return sanitizeDocumentTree ( {
208208 ...item ,
209209 fsPath,
210210 } )
@@ -218,7 +218,7 @@ export function useStudioHost(user: StudioUser, repository: Repository): StudioH
218218 const source = getCollectionSourceById ( document . id , collection . source )
219219 const fsPath = generateFsPathFromId ( document . id , source ! )
220220
221- return sanitizeDocument ( {
221+ return sanitizeDocumentTree ( {
222222 ...document ,
223223 fsPath,
224224 } )
@@ -239,12 +239,13 @@ export function useStudioHost(user: StudioUser, repository: Repository): StudioH
239239 }
240240
241241 const id = generateIdFromFsPath ( fsPath , collectionInfo ! )
242- const document = await generateDocumentFromContent ( id , content )
242+ const generateOptions = { collectionType : collectionInfo . type , compress : true }
243+ const document = await generateDocumentFromContent ( id , content , generateOptions )
243244 const normalizedDocument = applyCollectionSchema ( id , collectionInfo , document ! )
244245
245246 await host . document . db . upsert ( fsPath , normalizedDocument )
246247
247- return sanitizeDocument ( {
248+ return sanitizeDocumentTree ( {
248249 ...normalizedDocument ,
249250 fsPath,
250251 } )
@@ -299,7 +300,12 @@ export function useStudioHost(user: StudioUser, repository: Repository): StudioH
299300 } ,
300301 } ,
301302 generate : {
302- documentFromContent : async ( id : string , content : string , options : MarkdownParsingOptions = { compress : true } ) => generateDocumentFromContent ( id , content , options ) ,
303+ documentFromContent : async ( id : string , content : string ) => {
304+ const collection = getCollectionById ( id , useContentCollections ( ) )
305+
306+ const generateOptions = { collectionType : collection . type , compress : true }
307+ return await generateDocumentFromContent ( id , content , generateOptions )
308+ } ,
303309 contentFromDocument : async ( document : DatabaseItem ) => generateContentFromDocument ( document ) ,
304310 } ,
305311 } ,
0 commit comments