* feat: fetch google fonts before build Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Update quartz/plugins/emitters/componentResources.ts * fix: fetching wolff2 Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove request stylesheet Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: race condition Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove preconnect for static fonts since we are already downloading fonts into public folder Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove deadcode Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: add options to gate for cdn caching Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: apply jacky's suggestion Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: add docs and only use one promise Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: fmt Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove deadcode * chore: final touches Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * revert: changes in theme.ts * fix: styles and remove deadcode Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
		
			
				
	
	
		
			20 lines
		
	
	
		
			598 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			598 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import path from "path"
 | 
						|
import fs from "fs"
 | 
						|
import { BuildCtx } from "../../util/ctx"
 | 
						|
import { FilePath, FullSlug, joinSegments } from "../../util/path"
 | 
						|
 | 
						|
type WriteOptions = {
 | 
						|
  ctx: BuildCtx
 | 
						|
  slug: FullSlug
 | 
						|
  ext: `.${string}` | ""
 | 
						|
  content: string | Buffer
 | 
						|
}
 | 
						|
 | 
						|
export const write = async ({ ctx, slug, ext, content }: WriteOptions): Promise<FilePath> => {
 | 
						|
  const pathToPage = joinSegments(ctx.argv.output, slug + ext) as FilePath
 | 
						|
  const dir = path.dirname(pathToPage)
 | 
						|
  await fs.promises.mkdir(dir, { recursive: true })
 | 
						|
  await fs.promises.writeFile(pathToPage, content)
 | 
						|
  return pathToPage
 | 
						|
}
 |