copyright
此插件可以在访问者从你的站点复制内容时,自动追加版权信息,也可以禁止站点的复制或者选择。
使用
npm i -D @vuepress/plugin-copyright@nextimport { copyrightPlugin } from '@vuepress/plugin-copyright'
export default {
plugins: [
copyrightPlugin({
// options
}),
],
}指南
启用版权信息
此插件默认全局禁用。你可以:
- 在特定页面的 frontmatter 中设置
copy: true手动开启。 - 在插件选项中设置
global: true让其全局生效,并在页面的 frontmatter 中设置copy: false禁用它。
处于不打扰用户的考虑,默认配置下仅当复制长度超过 100 时才会追加版权信息。如果你希望改变这个触发值,你可以插件选项中设置 triggerLength,或在页面 frontmatter 单独设置 copy.triggerLength。
你可以通过插件的 author 和 license 选项设置全局作者和协议信息。
如果文档的不同部分拥有不同的作者和协议,你可以通过 authorGetter 和 licenseGetter 传入一个使用当前页面对象作为参数的函数 (page: Page) => string 并通过它返回相应信息。
插件会默认通过模板从作者、协议和页面链接生成版权信息,并在复制时追加。如果你认为这不够灵活,你可以设置 copyrightGetter 返回一个完全由你自定义的版权信息,或返回 null 以使用默认模板。
禁用复制和选择
如果你希望禁止用户复制较长内容,你可以在插件选项中设置 maxLength 控制这个临界值,或在页面 frontmatter 中设置 copy.maxLength。
- 如果你不希望用户复制你的整个站点或特定页面文字,你可以在插件选项中设置
disableCopy或在页面 frontmatter 中设置copy.disableCopy来禁用复制。后者具有更高优先级。 - 如果你不希望用户选择你的整个站点或特定页面文字,你可以在插件选项中设置
disableSelection或在页面 frontmatter 中设置copy.disableSelection来禁用文字选择。后者具有更高优先级。
选项
string默认作者信息。
string默认协议信息。
(page: Page) => string | null作者信息获取器。它以当前页面对象作为参数,返回作者信息。
(page: Page) => string | null协议信息获取器。它以当前页面对象作为参数,返回协议信息。
(page: Page) => string | null版权信息获取器。它以当前页面对象作为参数,返回完全由你自定义的版权信息,或返回 null 以使用默认模板。
string首选域名与部署目录,它将作为追加的版权信息中的参考链接。
例子
如果你在 https://myblog.com 和 https://blog.com/username/ 下部署相同的内容,你可能希望选择一个站点作为首选链接。
- 如果你倾向于使用第一个,你应该将
canonical设置为https://myblog.com - 如果你倾向于使用第二个,你应该将
canonical设置为https://blog.com/username/
这样,在另一个站点触发的版权信息也会指向你的首选站点。
boolean是否全局启用插件。
参考:启用版权信息。
boolean是否禁用复制。
参考:禁用复制和选择。
boolean是否禁用选择。
参考:禁用复制和选择。
number100触发附加版权的最小内容长度。
number0允许复制的最大内容长度,0 意味着无限制。
CopyrightPluginLocaleConfig插件的多语言配置。
参考:多语言配置。
string作者文字,其中的 :author 将会被作者替换。
string协议文字,其中的 :license 会被当前协议替换。
string链接文字,其中的 :link 会替换为当前页面链接。
Frontmatter
boolean | object是否为当前页面启用插件,或传入一个对象进行配置。
设置为 true 可在当前页面启用插件;当插件全局启用时,设置为 false 可在当前页面禁用它。
