import { PrerenderContentFile } from '../options'; /** * Discovers content files with front matter and extracts metadata for prerendering. * * This function: * 1. Discovers all content files matching the specified glob pattern * 2. Reads each file and parses front matter metadata * 3. Extracts file name, extension, and path information * 4. Returns structured data for prerendering content pages * * @param workspaceRoot The workspace root directory path * @param rootDir The project root directory relative to workspace * @param glob The glob pattern to match content files (e.g., 'content/blog') * @returns Array of PrerenderContentFile objects with metadata and front matter * * Example usage: * const contentFiles = getMatchingContentFilesWithFrontMatter( * '/workspace', * 'apps/my-app', * 'content/blog' * ); * * Sample discovered file paths: * - /workspace/apps/my-app/content/blog/first-post.md * - /workspace/apps/my-app/content/blog/2024/01/hello-world.md * - /workspace/apps/my-app/content/blog/tech/angular-v17.mdx * - /workspace/apps/my-app/content/blog/about/index.md * * Sample output structure: * { * name: 'first-post', * extension: 'md', * path: 'content/blog', * attributes: { title: 'My First Post', date: '2024-01-01', tags: ['intro'] } * } * * tinyglobby vs fast-glob comparison: * - Both support the same glob patterns for file discovery * - Both are efficient for finding content files * - tinyglobby is now used instead of fast-glob * - tinyglobby provides similar functionality with smaller bundle size * - tinyglobby's globSync returns absolute paths when absolute: true is set * * Front matter parsing: * - Uses front-matter library to parse YAML/TOML front matter * - Extracts metadata like title, date, tags, author, etc. * - Supports both YAML (---) and TOML (+++) delimiters * - Returns structured attributes for prerendering * * File path processing: * - Normalizes paths for cross-platform compatibility * - Extracts file name without extension * - Determines file extension for content type handling * - Maintains relative path structure for routing */ export declare function getMatchingContentFilesWithFrontMatter(workspaceRoot: string, rootDir: string, glob: string): PrerenderContentFile[];