UNPKG

@docfy/ember-vite

Version:

Vite plugin for Docfy Ember integration with @embroider/vite

44 lines (43 loc) 2.03 kB
import { processPageDemos } from './process-demos.js'; import { processPreviewTemplates } from './process-preview-templates.js'; import debugFactory from 'debug'; const debug = debugFactory('@docfy/ember-vite-plugin:enhance-page-metadata'); /** * Enhanced page processing that extracts GJS metadata from markdown content * This plugin processes the page and structures data for GJS template generation */ export function enhancePageMetadata(page) { debug('Enhancing page metadata', { url: page.meta.url }); // Initialize empty GJS metadata - templateContent will be set only if modified const gjsMetadata = { imports: [], inlineComponents: [], additionalContent: '', templateContent: '' // Only set if content is actually modified }; // Create enhanced page const enhancedPage = { ...page, gjsMetadata }; // Process demos and convert to inline components const { inlineComponents: demoComponents, imports: demoImports } = processPageDemos(enhancedPage); gjsMetadata.inlineComponents.push(...demoComponents); gjsMetadata.imports.push(...demoImports); // Process preview templates const { inlineComponents: previewComponents, imports: previewImports, updatedContent } = processPreviewTemplates(enhancedPage); gjsMetadata.inlineComponents.push(...previewComponents); gjsMetadata.imports.push(...previewImports); gjsMetadata.templateContent = updatedContent; // Future: Process import extraction from markdown // const { imports: extractedImports, updatedContent: finalContent } = extractImports(enhancedPage); // gjsMetadata.imports.push(...extractedImports); // gjsMetadata.templateContent = finalContent; debug('Enhanced page metadata created', { url: page.meta.url, importsCount: gjsMetadata.imports.length, inlineComponentsCount: gjsMetadata.inlineComponents.length, hasAdditionalContent: gjsMetadata.additionalContent.length > 0 }); return enhancedPage; }