import { basename, extname } from 'pathe' import grayMatter from 'gray-matter' import { parse as parseSFC } from 'vue/compiler-sfc' import type { RawPageMatter } from './types' const dateRegex = /^(?\d{4})-(?\d{2})-(?\d{2})-(?.*)(?\.\w+)$/ export async function parsePageMatter (filename: string, content: string) { const parse = extname(filename) === '.vue' ? parsePageBlock : parseFrontmatter const matter = await parse(filename, content) return preparePageMatter(filename, matter) } /** * Parses a block in a Vue SFC. * Supports extracting the layout from `