* 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() {},
 | |
| })
 |