* doc(favicon): add documentation of favicon plugin * doc(favicon): add missing link to configuration page * fix(favicon): build on public folder don't created
		
			
				
	
	
		
			23 lines
		
	
	
		
			631 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			631 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import sharp from "sharp"
 | 
						|
import { joinSegments, QUARTZ, FullSlug } from "../../util/path"
 | 
						|
import { QuartzEmitterPlugin } from "../types"
 | 
						|
import { write } from "./helpers"
 | 
						|
import { BuildCtx } from "../../util/ctx"
 | 
						|
 | 
						|
export const Favicon: QuartzEmitterPlugin = () => ({
 | 
						|
  name: "Favicon",
 | 
						|
  async *emit({ argv }) {
 | 
						|
    const iconPath = joinSegments(QUARTZ, "static", "icon.png")
 | 
						|
 | 
						|
    const faviconContent = sharp(iconPath).resize(48, 48).toFormat("png")
 | 
						|
 | 
						|
    yield write({
 | 
						|
      ctx: { argv } as BuildCtx,
 | 
						|
      slug: "favicon" as FullSlug,
 | 
						|
      ext: ".ico",
 | 
						|
      content: faviconContent,
 | 
						|
    })
 | 
						|
  },
 | 
						|
  async *partialEmit() {},
 | 
						|
})
 |