前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Butterfly主题】添加二级跳转页

【Butterfly主题】添加二级跳转页

作者头像
pai233
发布于 2022-05-04 03:14:20
发布于 2022-05-04 03:14:20
1.3K00
代码可运行
举报
文章被收录于专栏:pai233的专栏pai233的专栏
运行总次数:0
代码可运行

在逛别人的博客的时候,发现了有一种叫go.php的东西,可以经过自己站点的网页再跳转出去,方便SEO优化。但是像Hexo这类静态博客,想要从源HTML修改链接难度有点大,这里我们采用JavaScript动态修改。

部署Go Jumper到Github Pages

根据这个大佬的博客里的二次跳转,魔改了一个静态版:Go Jumper

所以,现在登陆你的Github账号,Fork这个仓库,选择你的个人账户。

Fork完毕后,点击Settings->Pages,将原分支从none修改为master,目录保持为/(root),然后Save。

这样,你自己的Go Jumper就成功部署在https://[你的Github用户名].github.io/go-jumper/了。

当然,你也可以绑定自己的域名,或者部署到其他的平台,这里不展开赘述。

修改配置

为了方便,我们这边直接在线修改:打开https://github.com/[你的Github用户名]/go-jumper/edit/master/config.json,修改以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "sitename":"pai233の小站", //修改为你的站点名
    "allowlist": [
        "pai233.top" //允许的来源
    ],
    "backTo": { //来源不合法、解析失败时的返回页面
        "url": "https://blog.pai233.top/",
        "sitename": "pai233の小窝"
    }
}

修改完成后保存。

动态修改

新建[主题根目录]/source/js/link-checker.js,内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
    checkLink();
});
$(document).on('pjax:complete', function () {
    checkLink();   
});
async function checkLink(){
    console.log("Running...")
    let link = document.getElementsByTagName('a');
    //console.log(link)
    for(var i=0;i<link.length;i++){
        if(link[i].href==="" || link[i].className==="gitter-open-chat-button")continue;//去除Gitter聊天框的影响
        if(!await checkLocalSite(link[i].href)){
            link[i].href = "https://[你的Go Jumper部署地址]/#"+window.btoa(link[i].href)
            console.log("edit.")
        }
    }
}
async function checkLocalSite(url){
    try{
        console.log("check:",url)
        let domain = url.split("/")[2];
        if(domain.endsWith("[你的博客域名]")||domain.endsWith("[本地测试域名]"))return true;
        return false;
    }catch(err){
        return true;
    }
}

然后,我们要将代码注入到主题中,在主题_config.yml中找到inject项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
inject:
  head:
    # - <link rel="stylesheet" href="/xxx.css">
    - <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    - <script src="/js/link-checker.js"></script>
  bottom:
    # - <script src="xxxx"></script>

这样,当博客加载完毕的时候,博客的全部外链就会被加上二级跳转,但是源HTML里的外链不变。

注意

index.html中,博主插入了广告代码,有需要的可自行删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="google-ads">
    <ins class="adsbygoogle"
        style="display:block; text-align:center;"
        data-ad-layout="in-article"
        data-ad-format="fluid"
        data-ad-client="ca-pub-1820088263747150"
        data-ad-slot="3739765077"></ins>
    <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
</div>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
给静态博客加入链接安全跳转页
在逛别人的博客的时候,发现了有一种叫go.php的东西,可以经过自己站点的网页再跳转出去,方便SEO优化。但是像Hexo这类静态博客,想要从源HTML修改链接难度有点大,这里我们采用JavaScript动态修改。
pai233
2022/01/12
1.1K0
给静态博客加入链接安全跳转页
【Butterfly主题】弹出欢迎弹窗
写这篇博客的缘故是因为看到cnblogs上的live2d模型可以自动欢迎,但是自己又不会魔改Hexo的live2d,就想到了以弹窗的方式来欢迎。
pai233
2022/04/25
9293
【Butterfly主题】弹出欢迎弹窗
Hexo-Butterfly主题魔改
本文章首发于语雀! 通过各种高科技功能同步到Hajeekn 的博客 由于每个人的博客目录都不相同,这里博客目录使用%brt%代替 本文章除 Pace wowjs 普通引入法以外,其他魔改都不适合 Butterfly3.6.0 及以上
FloatSheep
2022/04/25
2.6K0
Hexo-Butterfly主题魔改
hexo-butterfly美化 (持续更新)
把下载好的Js文件放在theme/Butterfly/source/js文件夹下 /Butterfly/layout/includes文件夹下找到head.pug文件,在最后引入
匿名用户的日记
2021/12/14
1.4K0
hexo-butterfly美化 (持续更新)
Next -24- 添加相册系列 -4- 将本地相册信息部署到hexo
在之前基础工作完成后,来到了距离我们相册最接近的一步,本文介绍上线相册的一种思路,供大家参考。 准备工作 Next -21- 添加相册系列 - 1- 框架设置 Next -22- 添加相册系列 -2- 使用七牛云qshell同步图像目录 Next -23- 添加相册系列 -3- 获取图像信息、保存为json文件并上传图像 上线思路 现在我们已经有了基础的photos框架,图像文件夹已经整理完毕,提取了信息放在了json文件,并且将图像上传到了七牛云图床,在hexo source文件夹内创建了相册对应inde
为为为什么
2022/08/04
6200
Next -24- 添加相册系列 -4- 将本地相册信息部署到hexo
Hexo侧边栏添加微博热搜
无意中浏览到了Lucifer三思而后行的博客,看到了首页侧边栏的微博热搜板块,比较感兴趣,自己尝试做一个(样式一致)。
花猪
2022/06/27
7220
Hexo侧边栏添加微博热搜
分享最近对网站外链跳转页面代码的一些改善
最近,有了一些灵感以及在其他博客也吸收了一些相关经验,就把现用的外链代码小改了下,感觉还不错,现在分享下,喜欢的可以试试。
用户8099761
2023/05/11
7780
Hexo用wowjs给博客添加动画效果
本篇仅使用butterfly_v3.6.0 +的主题版本,如果是在这之前的版本,请移步下方教程链接。
花猪
2022/02/22
1K0
Hexo用wowjs给博客添加动画效果
Akina For Typecho主题修改记录分享
大多数博主,基本都换过各种类型的博客程序,WordPress、Typecho、hexo、Z-Blog等等太多了,最后选择Typecho,就是因为小巧不臃肿。本人一共使用过两款:Cactus来自仙岛驿站和Akina来自子虚之人。
目的地-Destination
2023/10/12
3660
Akina For Typecho主题修改记录分享
Butterfly comment board beautify
我一想,对吼,我咋个就没想到呢,传统的hexo博客大多采用在文末放置评论区的方式,这样如果是在阅读长文的时候,突然有个问题了,然后想在评论区提问或者在评论区找答案,那就要拉倒最底下评论完再回来继续看。或者就是全文看完了才方便提问。不管是哪一种,都会造成阅读的割裂感,这种时候,如果可以保留当前的阅读进度,同时还能打开评论区同步阅读评论,岂不美哉?
Akilar
2021/12/05
7800
Butterfly comment board beautify
魔改笔记七:分类条及外链卡片
最近广泛交友,在和朋友klcdm的聊天中,了解到了他按照洪哥的教程添加了一个分类条,于是我想要,在和星港的聊天中,了解到他又有改了加载动画,而我的加载动画还是可怜的原版动画,于是心动的我又想要了,再在和朋友们讨论的过程中,xing提到了,本站地址也会被识别成外链,所以我将三个板块都进行了魔改,最终也达到了比较好的效果,其中参考了其他大佬的想法,我也会将地址附在下面。
柳神
2024/08/11
1760
魔改笔记七:分类条及外链卡片
借助腾讯云 CDN 开启全站 https 及问题解决分享
张戈
2016/09/28
10.9K1
借助腾讯云 CDN 开启全站 https 及问题解决分享
给博客添加一个安全跳转页面
更新记录:本次更新了在twikoo评论区中添加网页跳转的功能点击跳转更新内容最近更新
柳神
2024/05/30
2070
给博客添加一个安全跳转页面
【目录】Hexo+NexT+Gemini 搭建博客拥抱舒爽
首先在配置Hexo+NexT之前,最好阅读一下 Hexo官方文档 和 NexT使用文档
零式的天空
2022/03/27
2.2K0
【目录】Hexo+NexT+Gemini 搭建博客拥抱舒爽
在fluid主题中加入Google广告 - plus studio
在fluid的官方文档中,提供了在fluid主题中加入Google广告的方法,但是其中提到的参数data-ad-slot并没有说清怎么获取,所以我决定详细写一下如何获取。
plus sign
2024/02/28
1510
在fluid主题中加入Google广告 - plus studio
安全跳转页面·重制版
原本的安全跳转页面糟糕的一塌糊涂,因为当时水平有限,所以只能在别人的基础上修改,导致很多地方都不兼容,比如最简单的fancybox我都没有办法排除,会导致无法点击图片进行放大查看,除此之外无法排除友链页面,也无法排除友情链接的跳转卡片,兼容性也很差,群友想要使用我也没法提供解决方案,很是头疼,所以经过整整一个月的酝酿,我胡汉三又回来啦!此次重构大大简化了代码结构,并解决了前面的问题,为了测试稳定性,我还特意悄悄地上线了六天,好像也没人提出什么bug(也有可能是我的人气太少了呜呜呜),这才正式写出该重制版教程,给予需要的朋友以启发。
柳神
2024/05/30
1.1K0
安全跳转页面·重制版
基于 Vercel 和 MongoDB 的叨叨·改
在 MongoDB Atlas | MongoDB 申请 MongoDB 帐号 选免费的, 其他全默认选项
Rikka
2022/01/20
1.3K0
基于 Vercel 和 MongoDB 的叨叨·改
[原创]Vuepress SEO优化教程(附完整方法)
真不是沪小羊吹啊,Google给沪小羊的vuepress网站的SEO水平打97分。
极客中心
2021/01/21
4.2K0
[原创]Vuepress SEO优化教程(附完整方法)
超级变变变,动态云组件加载实践
题目为动态组件,但为了好理解可以叫做远程加载动态组件,后面统一简化称为“远程组件”。
秋风的笔记
2021/08/27
3.4K0
超级变变变,动态云组件加载实践
301跳转
嗯对,爷不是换域名了吗 xiaolfeng.cn 。告别了 .xyz 的国际域名,转向 .cn 国内域名。 至于我为什么换域名呢,可能是因为 .cn 比 .xyz 高级(可能只是在国内是这样,国际上不一定) 反正我认为就行了,这是我的Blog~
筱锋xiao_lfeng
2022/03/16
1.9K0
301跳转
相关推荐
给静态博客加入链接安全跳转页
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验