doc(favicon): add documentation of favicon plugin (#1948)
* doc(favicon): add documentation of favicon plugin * doc(favicon): add missing link to configuration page * fix(favicon): build on public folder don't created
This commit is contained in:
		@@ -1,16 +1,22 @@
 | 
			
		||||
import sharp from "sharp"
 | 
			
		||||
import { joinSegments, QUARTZ, FilePath } from "../../util/path"
 | 
			
		||||
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 dest = joinSegments(argv.output, "favicon.ico") as FilePath
 | 
			
		||||
 | 
			
		||||
    await sharp(iconPath).resize(48, 48).toFormat("png").toFile(dest)
 | 
			
		||||
    const faviconContent = sharp(iconPath).resize(48, 48).toFormat("png")
 | 
			
		||||
 | 
			
		||||
    yield dest
 | 
			
		||||
    yield write({
 | 
			
		||||
      ctx: { argv } as BuildCtx,
 | 
			
		||||
      slug: "favicon" as FullSlug,
 | 
			
		||||
      ext: ".ico",
 | 
			
		||||
      content: faviconContent,
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  async *partialEmit() {},
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user