'ai-ready:markdown'Type: (ctx: MarkdownContext) => void | Promise<void>
Called during runtime HTML→markdown conversion. Modify markdown before response.
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('ai-ready:markdown', (ctx) => {
ctx.markdown += '\n\n---\n*Generated with mdream*'
})
})
MarkdownContext:
| Property | Type | Description |
|---|---|---|
html | string | Original HTML |
markdown | string | Generated markdown (modify this) |
route | string | Route being processed |
title | string | Page title |
description | string | Page description |
isPrerender | boolean | Whether during prerendering |
event | H3Event | H3 event object |
'ai-ready:mdreamConfig'Type: (config: HTMLToMarkdownOptions) => void | Promise<void>
Called before HTML→markdown conversion. Modify mdream options per-request.
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('ai-ready:mdreamConfig', (config) => {
// Check origin from config.origin if available
if (config.origin?.includes('/blog/'))
config.ignoreElements = [...(config.ignoreElements || []), '.author-bio']
})
})
Add custom plugins:
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('ai-ready:mdreamConfig', (config) => {
config.plugins = config.plugins || []
config.plugins.push(myCustomPlugin())
})
})