refactor static and asset emission to be actual emitter plugins
This commit is contained in:
21
quartz/plugins/emitters/static.ts
Normal file
21
quartz/plugins/emitters/static.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { globby } from "globby"
|
||||
import {
|
||||
FilePath, QUARTZ
|
||||
} from "../../path"
|
||||
import { QuartzEmitterPlugin } from "../types"
|
||||
import path from "path"
|
||||
import fs from "fs"
|
||||
|
||||
|
||||
export const Static: QuartzEmitterPlugin = () => ({
|
||||
name: "Static",
|
||||
getQuartzComponents() {
|
||||
return []
|
||||
},
|
||||
async emit({ argv }, _content, _resources, _emit): Promise<FilePath[]> {
|
||||
const staticPath = path.join(QUARTZ, "static")
|
||||
const fps = await globby("*", { cwd: staticPath })
|
||||
await fs.promises.cp(staticPath, path.join(argv.output, "static"), { recursive: true })
|
||||
return fps.map(fp => path.join("static", fp)) as FilePath[]
|
||||
},
|
||||
})
|
Reference in New Issue
Block a user