* checkpoint * make emitters async generators * fix * custom font spec * replace spinner, use disk cache for fonts * use readline instead * make og images look nice
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { FilePath, QUARTZ, joinSegments } from "../../util/path"
 | 
						|
import { QuartzEmitterPlugin } from "../types"
 | 
						|
import fs from "fs"
 | 
						|
import { glob } from "../../util/glob"
 | 
						|
import DepGraph from "../../depgraph"
 | 
						|
import { dirname } from "path"
 | 
						|
 | 
						|
export const Static: QuartzEmitterPlugin = () => ({
 | 
						|
  name: "Static",
 | 
						|
  async getDependencyGraph({ argv, cfg }, _content, _resources) {
 | 
						|
    const graph = new DepGraph<FilePath>()
 | 
						|
 | 
						|
    const staticPath = joinSegments(QUARTZ, "static")
 | 
						|
    const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
 | 
						|
    for (const fp of fps) {
 | 
						|
      graph.addEdge(
 | 
						|
        joinSegments("static", fp) as FilePath,
 | 
						|
        joinSegments(argv.output, "static", fp) as FilePath,
 | 
						|
      )
 | 
						|
    }
 | 
						|
 | 
						|
    return graph
 | 
						|
  },
 | 
						|
  async *emit({ argv, cfg }, _content) {
 | 
						|
    const staticPath = joinSegments(QUARTZ, "static")
 | 
						|
    const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
 | 
						|
    const outputStaticPath = joinSegments(argv.output, "static")
 | 
						|
    await fs.promises.mkdir(outputStaticPath, { recursive: true })
 | 
						|
    for (const fp of fps) {
 | 
						|
      const src = joinSegments(staticPath, fp) as FilePath
 | 
						|
      const dest = joinSegments(outputStaticPath, fp) as FilePath
 | 
						|
      await fs.promises.mkdir(dirname(dest), { recursive: true })
 | 
						|
      await fs.promises.copyFile(src, dest)
 | 
						|
      yield dest
 | 
						|
    }
 | 
						|
  },
 | 
						|
})
 |