From ce3dd0923b93e8c1cbe95fe584418d6ee5dcba69 Mon Sep 17 00:00:00 2001
From: kabirgh <15871468+kabirgh@users.noreply.github.com>
Date: Thu, 18 Jan 2024 18:56:14 +0000
Subject: [PATCH] refactor: move emit from callback to helper file function (#704)
---
docs/advanced/making plugins.md | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/docs/advanced/making plugins.md b/docs/advanced/making plugins.md
index fcc88a7..65209a2 100644
--- a/docs/advanced/making plugins.md
+++ b/docs/advanced/making plugins.md
@@ -216,22 +216,19 @@
export type QuartzEmitterPluginInstance = {
name: string
- emit(
- ctx: BuildCtx,
- content: ProcessedContent[],
- resources: StaticResources,
- emitCallback: EmitCallback,
- ): Promise<FilePath[]>
+ emit(ctx: BuildCtx, content: ProcessedContent[], resources: StaticResources): Promise<FilePath[]>
getQuartzComponents(ctx: BuildCtx): QuartzComponent[]
}
```
-An emitter plugin must define a `name` field an `emit` function and a `getQuartzComponents` function. `emit` is responsible for looking at all the parsed and filtered content and then appropriately creating files and returning a list of paths to files the plugin created.
+An emitter plugin must define a `name` field, an `emit` function, and a `getQuartzComponents` function. `emit` is responsible for looking at all the parsed and filtered content and then appropriately creating files and returning a list of paths to files the plugin created.
-Creating new files can be done via regular Node [fs module](https://nodejs.org/api/fs.html) (i.e. `fs.cp` or `fs.writeFile`) or via the `emitCallback` if you are creating files that contain text. The `emitCallback` function is the 4th argument of the emit function. Its interface looks something like this:
+Creating new files can be done via regular Node [fs module](https://nodejs.org/api/fs.html) (i.e. `fs.cp` or `fs.writeFile`) or via the `write` function in `quartz/plugins/emitters/helpers.ts` if you are creating files that contain text. `write` has the following signature:
```ts
-export type EmitCallback = (data: {
+export type WriteOptions = (data: {
+ // the build context
+ ctx: BuildCtx
// the name of the file to emit (not including the file extension)
slug: ServerSlug
// the file extension
--
Gitblit v1.10.0