--- title: Article Watermark icon: material-symbols-light:branding-watermark-outline createTime: 2025/10/08 20:14:57 permalink: /en/guide/features/watermark/ --- ## Overview Article watermarking is powered by [@vuepress/plugin-watermark](https://ecosystem.vuejs.press/zh/plugins/features/watermark.html). The theme supports adding watermarks to articles. Both full-page watermarks and content-area watermarks are supported, along with image watermarks and text watermarks. ## Enabling Watermark Watermark functionality is disabled by default in the theme. You need to enable it in the theme configuration. ```ts title=".vuepress/config.ts" import { defineUserConfig } from 'vuepress' import { plumeTheme } from 'vuepress-theme-plume' export default defineUserConfig({ theme: plumeTheme({ // watermark: true, watermark: { // enabled: false, // boolean type to control global enablement enabled: page => true, // function type to filter which pages enable watermark delay: 500, // Delay for adding watermark. In milliseconds. /** * Whether to use full-page watermark, defaults to `true`. * When set to `false`, the watermark is only displayed in the content area. */ fullPage: true, /** @see https://zhensherlock.github.io/watermark-js-plus/zh/config/ */ watermarkOptions: { content: 'your watermark', // ... } } }) }) ``` ### Global Enablement When `plugins.watermark` is set to `true`, the theme enables watermark globally. ```ts export default defineUserConfig({ theme: plumeTheme({ watermark: true, }) }) ``` ### Partial Page Enablement The theme provides two methods to control watermark enablement on specific pages. #### watermark.enabled ```ts export default defineUserConfig({ theme: plumeTheme({ watermark: { // Pages returning true will enable watermark, others will disable it enabled: page => page.path.includes('/article/'), } }) }) ``` #### frontmatter.watermark Add `frontmatter.watermark` as `true` in the md file: ```md --- watermark: true --- ``` You can also customize the watermark configuration for the current page: ```md --- watermark: content: My Custom Content globalAlpha: 0.2 rotate: 45 --- ``` ## Image Watermark The theme supports using images as watermarks. ```ts import { defineUserConfig } from 'vuepress' import { plumeTheme } from 'vuepress-theme-plume' export default defineUserConfig({ theme: plumeTheme({ watermark: { watermarkOptions: { contentType: 'image', image: '/images/watermark.png', width: 200, height: 200, imageWidth: 100, imageHeight: 100, } } }) }) ``` You can also add configuration in the md file to set watermark for the current page: ```md --- watermark: contentType: image image: /images/watermark.png width: 200 height: 200 imageWidth: 100 imageHeight: 100 --- ``` ### Example [Image Watermark](/article/i4cuuonn/) ## Text Watermark The theme supports using text as watermarks. ```ts import { defineUserConfig } from 'vuepress' import { plumeTheme } from 'vuepress-theme-plume' export default defineUserConfig({ theme: plumeTheme({ watermark: { watermarkOptions: { content: 'Custom Text', fontColor: '#fff', // Text color } } }) }) ``` You can also add configuration in the md file to set watermark for the current page: ```md --- watermark: content: Custom Text fontColor: #fff --- ``` ## Frontmatter The theme supports adding `frontmatter.watermark` in md files to set watermarks for individual pages. ```md --- watermark: content: My Custom Content --- ``` For supported configuration options, please refer to: [watermark-js-plus](https://zhensherlock.github.io/watermark-js-plus/zh/config/) Additionally, `fullPage` is supported to control whether to display the watermark full-screen. ```md --- watermark: fullPage: false --- ``` ## Examples - [Content Watermark](/article/2z59hh8g/) - [Full-page Watermark](/article/97s6ha1e/)