feat(favicon): add plugin to expose favicon from icon.png (#1942)
* feat(favicon): add plugin to expose favicon from icon.png * chore(favicon): clean up formatting and remove unnecessary line breaks
This commit is contained in:
parent
4bd714b7be
commit
9e58857746
3 changed files with 18 additions and 0 deletions
|
@ -86,6 +86,7 @@ const config: QuartzConfig = {
|
|||
}),
|
||||
Plugin.Assets(),
|
||||
Plugin.Static(),
|
||||
Plugin.Favicon(),
|
||||
Plugin.NotFoundPage(),
|
||||
// Comment out CustomOgImages to speed up build time
|
||||
Plugin.CustomOgImages(),
|
||||
|
|
16
quartz/plugins/emitters/favicon.ts
Normal file
16
quartz/plugins/emitters/favicon.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
import sharp from "sharp"
|
||||
import { joinSegments, QUARTZ, FilePath } from "../../util/path"
|
||||
import { QuartzEmitterPlugin } from "../types"
|
||||
|
||||
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)
|
||||
|
||||
yield dest
|
||||
},
|
||||
async *partialEmit() {},
|
||||
})
|
|
@ -5,6 +5,7 @@ export { ContentIndex as ContentIndex } from "./contentIndex"
|
|||
export { AliasRedirects } from "./aliases"
|
||||
export { Assets } from "./assets"
|
||||
export { Static } from "./static"
|
||||
export { Favicon } from "./favicon"
|
||||
export { ComponentResources } from "./componentResources"
|
||||
export { NotFoundPage } from "./404"
|
||||
export { CNAME } from "./cname"
|
||||
|
|
Loading…
Add table
Reference in a new issue