import { StaticResources } from "../../resources"
import { EmitCallback, QuartzEmitterPlugin } from "../types"
import { ProcessedContent } from "../vfile"
import { render } from "preact-render-to-string"
import { GlobalConfiguration } from "../../cfg"
import { QuartzComponent } from "../../components/types"
import { resolveToRoot } from "../../path"
import Header from "../../components/Header"
import { QuartzComponentProps } from "../../components/types"
import Body from "../../components/Body"
interface Options {
head: QuartzComponent
header: QuartzComponent[],
body: QuartzComponent[]
}
export class ContentPage extends QuartzEmitterPlugin {
name = "ContentPage"
opts: Options
constructor(opts: Options) {
super()
this.opts = opts
}
getQuartzComponents(): QuartzComponent[] {
return [this.opts.head, Header, ...this.opts.header, ...this.opts.body]
}
async emit(cfg: GlobalConfiguration, content: ProcessedContent[], resources: StaticResources, emit: EmitCallback): Promise