博客友链太多,需要自定义一个友情链接页面

link渲染文件

hexo/themes/next/layout 目录下建一个 link.swig文件,写入以下代码


{% block content %}
{######################}
{### LINKS BLOCK ###}
{######################} <div id="links">
<style> #links{
margin-top: 5rem;
} .links-content{
margin-top:1rem;
} .link-navigation::after {
content: " ";
display: block;
clear: both;
} .card {
width: 300px;
font-size: 1rem;
padding: 10px 20px;
border-radius: 4px;
transition-duration: 0.15s;
margin-bottom: 1rem;
display:flex;
}
.card:nth-child(odd) {
float: left;
}
.card:nth-child(even) {
float: right;
}
.card:hover {
transform: scale(1.1);
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04);
}
.card a {
border:none;
}
.card .ava {
width: 3rem!important;
height: 3rem!important;
margin:0!important;
margin-right: 1em!important;
border-radius:4px; }
.card .card-header {
font-style: italic;
overflow: hidden;
width: 236px;
}
.card .card-header a {
font-style: normal;
color: #2bbc8a;
font-weight: bold;
text-decoration: none;
}
.card .card-header a:hover {
color: #d480aa;
text-decoration: none;
}
.card .card-header .info {
font-style:normal;
color:#a3a3a3;
font-size:14px;
min-width: 0;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
</style>
<div class="links-content"> <div class="no-icon note warning"><div class="link-info">‍ 跟着大佬走,成为小大佬</div></div>
<div class="link-navigation">
{% for link in theme.defaultlinks %} <div class="card">
<img class="ava nofancybox" src="{{ link.avatar }}"/>
<div class="card-header">
<div><a href="{{ link.site }}" target="_blank"> {{ link.nickname }}</a> <a href="{{ link.site }}"><span class="focus-links"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp;关注</span></a></div>
<div class="info">{{ link.info }}</div>
</div>
</div> {% endfor %} </div> <div class="no-icon note primary"><div class="link-info"> 五湖四海的朋友们</div></div> <div class="link-navigation">
{% for link in theme.friendslinks %} <div class="card">
<img class="ava nofancybox" src="{{ link.avatar }}"/>
<div class="card-header">
<div><a href="{{ link.site }}" target="_blank"> {{ link.nickname }}</a> <a href="{{ link.site }}"><span class="focus-links"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp;关注</span></a></div>
<div class="info">{{ link.info }}</div>
</div>
</div> {% endfor %} </div> {{ page.content }}
</div>
</div> {##########################}
{### END LINKS BLOCK ###}
{##########################}
{% endblock %}

page渲染文件

然后修改 hexo/themems/next/layout/page.swig 文件,

#}{% elif page.type === "tags" and not page.title %}{#
#}{{ __('title.tag') + page_title_suffix }}{#

位置添加如下代码:

<!-- 友情链接-->
#}{% elif page.type === 'links' and not page.title %}{#
#}{{ __('title.links') + page_title_suffix }}{#

如图所示:

然后还是在这个 page.swig 文件中,引入刚才新建的 swig 页面:

<!-- 友情链接-->
{% elif page.type === 'links' %}
{% include 'links.swig' %}

这个代码位置可以放到下面

    {% elif page.type === 'categories' %}
<div class="category-all-page">
<div class="category-all-title">
{{ _p('counter.categories', site.categories.length) }}
</div>
<div class="category-all">
{{ list_categories() }}
</div>
</div>
{% elif page.type === 'links' %}
{% include 'links.swig' %}
{% else %}
{{ page.content }}
{% endif %}
</div>

index文件

然后在 hexo/source 下创建 links 文件夹,创建 index.md 文件,写入以下内容,如下,这个是友链页面的申请信息,可以按照自己想法修改:

----
title: 友情链接
date: 2019-12-08 03:21:39
type: "links"
--- --- ### 申请要求: 1、内容持续更新且可以稳定访问
2、网页整洁无繁杂广告推广
3、博客主页被百度或谷歌等搜索引擎收录
4、头像能够快速加载
5、拥有独立域名 ### 友链声明: 1、本站会主动保存您的 HTTPS 形式的头像图片链接
2、本站会定期清理无法访问的友链,如果更换了链接信息请至评论区留言,谢谢合作!
3、本站会定期查看双方是否互为友链,如果取消本站友链,本站也会将您的友链移除 ### 申请方式: 先将本站的友链添加到您的友链,相关信息如下
然后按照以下格式在本站留言区留言,待博主为您添上友链 >名称:AomanHao
头像链接:http://www.aomanhao.top/images/Avatar.jpg
主页链接:http://www.aomanhao.top/
说明信息:图像处理,优化世界

config配置文件

最后,我们添加友链的话,需要在主题配置文件 hexo/themes/next/_config.xml 文件末尾添加:

# 友情链接
defaultlinks:
- nickname: AomanHao # 昵称
avatar: http://www.aomanhao.top/images/Avatar.jpg # 头像地址
site: http://www.aomanhao.top #友链地址
info: 图像处理,优化世界 friendslinks:
- nickname: AomanHao # 昵称
avatar: http://www.aomanhao.top/images/Avatar.jpg # 头像地址
site: http://www.aomanhao.top #友链地址
info: 图像处理,优化世界

defaultlinks:呼应的是link.swig文件中 ‍ 跟着大佬走,成为小大佬段落,此处链接写大佬的博客;
friendslinks:呼应的是link.swig文件中 五湖四海的朋友们段落,此处链接写朋友的博客。
此处内容可以根据自己需要自行修改

菜单栏汉化需要在 hexo/themes/next/languages/zh-CN.yml文件中,新增 links :

menu:

  links: 友链

参考文章,sanarous

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

Hexo博客Next主题友链页面的更多相关文章

  1. hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题

    文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...

  2. Hexo博客maupassant主题添加Google Adsense广告

    自从在 Github Page 落户以后,很长一段时间使用的是极简且有点艺术范儿的 fexo 主题,而不是大名鼎鼎的 next 主题.后来偶然发现了符合我审美的Hexo博客 maupassant 主题 ...

  3. 关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法

    关于Hexo博客NEXT主题(Gmini)站点图标不显示,显示错误的解决办法   最近闲着没事自己利用Hexo和Github搭了个博客,但是在NEXT(Gmini)主题优化时,出了很多错误,图标不显示 ...

  4. hexo博客yilia主题深度设置

    转载:Shuyan http://dongshuyan.com/2019/05/24/hexo博客注意事项/ 1.微信分享异常 这里是themes\yilia\layout\ _partial\pos ...

  5. hexo博客更换主题

    前边我们已经学会了博客的搭建了,这次我们来看看怎么样让我们的博客更漂亮,更个性化.那就是来更换博客的主题,让我们的博客与众不同起来.我们可以去hexo的主题官网去挑选你自己喜欢的主题风格.里边收录了很 ...

  6. hexo博客pure主题解决不蒜子计数不显示的问题

    最近在建个人博客网站,想统计自己的博客页面访问量,就用到了不蒜子页面访问统计.可是遇到了糟心事,居然不显示!!! 不蒜子官网示例:两行代码,搞定计数 <script async src=&quo ...

  7. Hexo博客yilia主题添加Gitment评论系统

    一开始搭建hexo+yilia博客使用的评论功能是通过来必力实现的.来必力免费,功能多,一开始的体验效果很好,但是后来打开网站发现来必力加载的越来越慢(来必力是韩国的公司,可能是国内限制),遂打算换一 ...

  8. Hexo博客skapp主题部署填坑指南

    相信大家都很喜欢 hexo skapp 的主题,由于作者采用结巴分词,加上需要依赖各种各样的环境 所以可能大家踩过很多坑,也许每个人踩得坑不一样,这里使用 Docker 容器 centos 来部署, ...

  9. Hexo博客NexT主题美化之评论系统

    前言 更多效果展示,请访问我的博客 https://kangmingxian.github.io/ 效果图:   image Valine 诞生于2017年8月7日,是一款基于Leancloud的快速 ...

  10. hexo博客更新主题后上传Git操作

    克隆主题: git clone https://github.com/SuperKieran/TKL.git _config.yml文件中主题改为新增主题 # Extensions ## Plugin ...

随机推荐

  1. Nuxtjs实现服务端渲染和静态化站点

    本文将介绍如何使用Nuxtjs对vue项目进行ssr和静态化处理. Nuxtjs简单介绍 首先,我们简单了解下Nuxtjs框架,Nuxt.js是一个基于Vue的通用框架,主要用于解决Vue项目的服务端 ...

  2. 一款能“干掉” ChatGPT 的应用「GitHub 热点速览」

    据说有了它,ChatGPT 就可以靠边站了.因为 Auto-GPT 能更加主动地完成你给他的指定任务,不用做更多的人为干涉,它的推理能力比 ChatGPT 更强,有人用它解放双手做了个 React 网 ...

  3. Ajax 以及 Ajax基于Promise封装

    AJAX - 创建 XMLHttpRequest 对象 var xmlhttp = new XMLHttpRequest(); 通过打印实例对象我们发现,我们打印的是 xmlhttp 对象,里面所有的 ...

  4. 2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一个正整数 n ,请你返回区间 [1, n] 之间特殊整数的数目。 输入:n = 20。 输出:19。

    2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 . 给你一个正整数 n ,请你返回区间 [1, n] 之间特殊整数的数目. 输入:n = 20. 输出:19. ...

  5. mosn基于延迟负载均衡算法 -- 走得更快,期待走得更稳

    前言 这篇文章主要是介绍mosn在v1.5.0中新引入的基于延迟的负载均衡算法. 对分布式系统中延迟出现的原因进行剖析 介绍mosn都通过哪些方法来降低延迟 构建来与生产环境性能分布相近的测试用例来对 ...

  6. Pwn系列之Protostar靶场 Stack6题解

    源码如下: #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <stri ...

  7. vue【解决方案】页面/路由跳转后,滚动条消失,页面无法滚动

    原因解析: vue项目中,页面/路由跳转后,body 的内联样式变成 overflow:hidden 解决方案: 使用路由守卫,在页面/路由跳转后,将body 的overflow设置为auto src ...

  8. 2022-06-28:以下golang代码输出什么?A:true;B:false;C:panic;D:编译失败。 package main import “fmt“ func main() {

    2022-06-28:以下golang代码输出什么?A:true:B:false:C:panic:D:编译失败. package main import "fmt" func ma ...

  9. Django4全栈进阶之路19 项目实战(用户管理):user_delete.html用户删除画面设计

    1.user_list.html删除按钮链接设置: <td> <a class="btn btn-danger btn-xs" href="{% url ...

  10. uni-app Flex布局

    Flexbox #Flex 容器 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. nvue布局模型基于 CSS Flexbox, ...