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

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. MySQL(十四)分析查询语句Explain 七千字总结

    分析查询语句:EXPLAIN 1概述 ​ 定位了查询慢的SQL之后,就可以使用EXPLAIN或者DESCRIBE工具做针对性的分析查询.两者使用方法相同,并且分析结果也是相同的. ​ MySQL中有专 ...

  2. MySQL(九)InnoDB数据结构

    InnoDB数据结构 1 数据库的存储结构:页 ​ 索引信息和数据记录都是保存在文件上的,确切来说是保存在页结构中:另一方面,索引是在存储引擎上实现的,MySQL服务器上的存储引擎负责对表中数据的读取 ...

  3. ROS机器人SLAM创建地图

    ROS机器人SLAM创建地图 连接小车 ssh clbrobot@clbrobot 激活树莓派 roslaunch clbrobot bringup.launch 开启雷达 打开另一个终端输入: ss ...

  4. [MAUI]模仿网易云音乐黑胶唱片的交互实现

    @ 目录 创建页面布局 创建手势控件 创建影子控件 唱盘拨动交互 唱盘和唱针动画 项目地址 用过网易云音乐App的同学应该都比较熟悉它播放界面. 这是一个良好的交互设计,留声机的界面隐喻准确地向人们传 ...

  5. Docker的实际应用

    一. 数据持久化 我们什么情况下要做数据持久化呢? 一定是在做容器之前先预判好哪些文件是要永久存储的, 而不会跟着它容器的一个生命周期而消失. 比如说配置文件. 日志文件. 缓存文件或者应用数据等等. ...

  6. 笔记:C++学习之旅---初识C++

    笔记:C++学习之旅---初识C++          博主也是一个新手,学习编程才一年左右,刚大学毕业不久,以前在学校学习的语言主要是C,本人是从嵌入式学起的!我现在从事的公司主要是C++,所以我也 ...

  7. js中 call()与apply()方法 和 bind()方法

    call与apply都属于Function.prototype(即原型对象身上的方法)的一个方法,所以每个function实例都有call.apply属性: call()和apply() 是静态方法, ...

  8. nuxt.js项目中全局捕获异常并生成错误日志全过程

    需求:客户在使用过程中页面报错时,可以生成错误记录传回服务器,以便改进. 步骤: 一.全局捕获异常, 二.发送到服务端, 三.生成错误日志. 一.全局捕获异常 如图,vue提供了errorHandle ...

  9. 2021-04-07:给定一个非负数组arr,长度为N,那么有N-1种方案可以把arr切成左右两部分,每一种方案都有,min{左部分累加和,右部分累加和},求这么多方案中,min{左部分累加和,右部分累加和}的最大值是多少? 整个过程要求时间复杂度O(N)。

    2021-04-07:给定一个非负数组arr,长度为N,那么有N-1种方案可以把arr切成左右两部分,每一种方案都有,min{左部分累加和,右部分累加和},求这么多方案中,min{左部分累加和,右部分 ...

  10. 11g ADG级联备库基础测试环境准备

    客户通过duplicate生产备库的方式创建cascade备库. 发现每次都会遇到两个文件报错,ORA-17628: Oracle error 19505错误,且每一次跑,报错文件不一样. 现在想帮客 ...