返回 slidev
layouts.ts
根目录 / packages / slidev / node / virtual / layouts.ts
1 import type { VirtualModuleTemplate } from './types'
2 import { objectMap } from '@antfu/utils'
3 import { toAtFS } from '../resolver'
4
5 export const templateLayouts: VirtualModuleTemplate = {
6 id: '/@slidev/layouts',
7 async getContent({ utils }) {
8 const imports: string[] = []
9 const layouts = objectMap(
10 await utils.getLayouts(),
11 (k, v) => {
12 imports.push(`import __layout_${k} from "${toAtFS(v)}"`)
13 return [k, `__layout_${k}`]
14 },
15 )
16
17 return [
18 imports.join('\n'),
19 `export default {\n${Object.entries(layouts).map(([k, v]) => `"${k}": ${v}`).join(',\n')}\n}`,
20 ].join('\n\n')
21 },
22 }
23
23 lines TYPESCRIPT