quartz-research-note/quartz/plugins/index.ts

36 lines
823 B
TypeScript
Raw Normal View History

2023-07-23 00:27:41 +00:00
import { StaticResources } from "../resources"
import { PluginTypes } from "./types"
2023-07-23 00:27:41 +00:00
import { FilePath, ServerSlug } from "../path"
2023-07-01 07:03:01 +00:00
2023-05-30 15:02:20 +00:00
export function getStaticResourcesFromPlugins(plugins: PluginTypes) {
const staticResources: StaticResources = {
css: [],
js: [],
}
2023-06-03 19:07:19 +00:00
for (const transformer of plugins.transformers) {
2023-06-17 20:08:06 +00:00
const res = transformer.externalResources ? transformer.externalResources() : {}
2023-05-30 15:02:20 +00:00
if (res?.js) {
staticResources.js.push(...res.js)
2023-05-30 15:02:20 +00:00
}
if (res?.css) {
staticResources.css.push(...res.css)
2023-05-30 15:02:20 +00:00
}
}
return staticResources
}
2023-07-23 00:27:41 +00:00
export * from "./transformers"
export * from "./filters"
export * from "./emitters"
2023-05-30 15:02:20 +00:00
2023-07-23 00:27:41 +00:00
declare module "vfile" {
2023-05-30 15:02:20 +00:00
// inserted in processors.ts
interface DataMap {
2023-07-13 07:19:35 +00:00
slug: ServerSlug
allSlugs: ServerSlug[]
filePath: FilePath
2023-05-30 15:02:20 +00:00
}
}