当前位置: 首页 > web >正文

如何给Hexo-butterfly主题博客在复制时添加版权声明

前言

文章被盗,被爬取,内容被cv,你是否很苦恼?
被复制时,自动给文章内容添加原文信息。🤣

1、确认需要版权声明的位置

通常情况下都是在拷贝博客详情内容时才给拷贝的内容添加版权信息,如果不管拷贝哪里的内容都给添加版权声明,影响用户体验。所以第一步确定博文详细内容在哪个标签中。这里我用的butterfly(蝴蝶)主题,他的文章主体内容在

标签中
文章主体内容标签

2、编写版权声明的js

js已写好,直接复制,替换自己的信息即可

script.function setClipboardText(event) {let clipboardData = event.clipboardData || window.clipboardData;if (!clipboardData) { return; }event.preventDefault();let text = window.getSelection().toString();if (text) {event.preventDefault();var copyright = '\n\n'+ '\n著作权归作者所有。'+ '\n商业转载请联系作者获得授权,非商业转载请注明出处。'+ '\n作者: 码农刚子'+ '\n邮箱: wxscc@foxmail.com'+ '\n原文地址: ' + window.location.href;clipboardData.setData('text/plain', text + copyright);}}var contents = document.getElementById("article-container");if(contents){contents.addEventListener('copy',function(e){setClipboardText(e);});}

<%= page.permalink %>: 当前页面链接
因为我们只是需要监听博客详情页的复制事件,所以我们可以直接将这段js放在博文详情页末尾。themes/butterfly[主题的名字]/layout/post.pug这个文件是生成博客详情的模板。

3、启动测试

执行hexo clean和hexo generate清除通过修改前生成的页面,然后再根据修改后模板生成新的页面。然后执行hexo server启动测试。效果如下图
版权声明截图

4、设置文章是否需要添加版权声明

如果我们是转载其他作者的文章,这种情况下肯定是不能添加自己的版权声明要去掉。

  1. 在文章头部添加一个copyright属性设置为false
    添加copyright属性
    默认没有此属性,也相当于true,所有文章都默认加版权声明,直有copyright为false时不加版权声明
  2. 在刚刚加js代码的地方再加一行
+ if page.copyright !== false script.function setClipboardText(event) {let clipboardData = event.clipboardData || window.clipboardData;if (!clipboardData) { return; }event.preventDefault();let text = window.getSelection().toString();if (text) {event.preventDefault();var copyright = '\n\n'+ '\n著作权归作者所有。'+ '\n商业转载请联系作者获得授权,非商业转载请注明出处。'+ '\n作者: 码农刚子'+ '\n邮箱: wxscc@foxmail.com'+ '\n原文地址: ' + window.location.href;clipboardData.setData('text/plain', text + copyright);}}var contents = document.getElementById("article-container");if(contents){contents.addEventListener('copy',function(e){setClipboardText(e);});}

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
作者: 码农刚子
邮箱: wxscc@foxmail.com
原文链接: https://www.codeobservatory.cn/archives/9dd55dbc.html

http://www.xdnf.cn/news/14178.html

相关文章:

  • 【图片转 3D 模型】北大·字节跳动·CMU携手——单图15 秒生成结构化3D模型!
  • 创客匠人视角:从外卖大战看创始人IP的差异化定位逻辑
  • veyon(电子教室管理) v4.9.6.1 官方版
  • n8n 从 Docker 到 Node.js 本地环境迁移指南
  • Linux Docker的环境配置与简单使用
  • 《高并发系统性能优化三板斧:缓存 + 异步 + 限流》
  • Spring Boot 自动配置原理深度解析与自定义 Starter 实战
  • 【Unity】MiniGame编辑器小游戏(一)俄罗斯方块【Tetris】
  • [学习] 牛顿迭代法:从数学原理到实战
  • Nginx、CDN、 DNS的关系解析
  • ​​信息系统项目管理师-信息系统工程 知识点总结与例题分析​​
  • 单项链表的操作及其实现
  • 重定向与缓冲区:C语言IO的奥秘(模拟封装glibc)
  • 工业PID算法在温控器的应用与参数说明
  • 《单调队列》题集
  • list is not in GROUPBY clause and contains nonaggregated column ‘*.*‘
  • Windows10电脑开始菜单快速查找应用程序
  • I/O模式之epoll,本文会讲到epoll的相关接口以及底层,还会涉及水平和边缘工作模式,以及通过epoll相关接口实现一个水平工作模式服务端
  • 【DRL】强化学习中的概念和术语
  • 用数学融智学人力资源模型的核心架构:建立可量化的理论框架
  • openMP的简单介绍以及c++执行实例
  • JS递归了解
  • k3s入门教程(三)部署控制面板
  • 第六章 进阶19 琦琦的追求
  • AI数字人:几分钟克隆,短视频制作新革命
  • leetcode-hot-100 (链表)
  • C语言结构体与联合体详解
  • Windows批处理脚本(.bat脚本、.bat语法)关闭回显@echo off、延迟变量扩展setlocal enabledelayedexpansion
  • 【教程】Windows安全中心扫描设置排除文件
  • Ubuntu Server 24.04|22.04|20.04|18.04 安装GUI DESKTOP xfce4