UNPKG

@vuepress/plugin-watermark

Version:
27 lines (26 loc) 1.03 kB
import { isFunction } from 'vuepress/shared'; import { getDirname, path } from 'vuepress/utils'; import { logger, PLUGIN_NAME } from './logger.js'; const __dirname = getDirname(import.meta.url); export const watermarkPlugin = ({ enabled: enable = true, ...options } = {}) => (app) => { if (app.env.isDebug) logger.info('Options:', options); return { name: PLUGIN_NAME, define: { __WM_DELAY__: options.delay ?? 500, __WM_GLOBAL__: enable === true, __WM_OPTIONS__: options.watermarkOptions ?? {}, }, extendsPage: (page) => { // When watermark is a filter function, enable watermark for matching pages. if (isFunction(enable)) { const { frontmatter } = page; if (!('watermark' in frontmatter) && enable(page)) { frontmatter.watermark = true; } } }, clientConfigFile: path.resolve(__dirname, '../client/config.js'), }; };