hexo next 自定义友链页面

因为 next 主题的升级,导致网上很多 next 主题添加友链的教程中路径出现变动,在此记录一下我查看大量教程后基于 next 主题v8.2.2配置自定义友链页面的方法。

本文基于hexo-v5.4.0next-v8.2.2

/_config.next.yml(详细请查看此处)文件中找到styles.styl去处“#”进行启用。

custom_file_path:
  style: source/_data/styles.styl

找到Menu Settings添加友链: /links || fas fa-link

menu:
  home: / || fa fa-home
  tags: /tags/ || fa fa-tags
  categories: /categories/ || fa fa-th
  archives: /archives/ || fa fa-archive
  #schedule: /schedule/ || fa fa-calendar
  #sitemap: /sitemap.xml || fa fa-sitemap
  #commonweal: /404/ || fa fa-heartbeat
  about:
      default: /about/ || fa fa-user
      友链: /links || fas fa-link
      收藏夹: https://docs.myql.xyz/ || far fa-folder-open

按照source/_data/styles.styl路径新建styles.styl文件后,在styles.styl中添加以下内容:

#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;
}

source/about/links/index.md路径新建index.md,这里强调一下,因为我将友链页面放在了about页面下,所以才是这样的路径,如果你需要直接在侧边栏添加,请去除路径中的about

打开刚刚新建的source/about/links/index.md,添加以下内容:

---
title: 友链
type: links
---

<div class="links-content">
<div class="no-icon note warning"><div class="link-info">😁欢迎与我交换友链</div></div>
<div class="link-navigation">
{% for link in site.data.links.defaultlinks %}
<div class="card">
<img class="ava nomediumzoom" src="{{ link.avatar }}"/>
<div class="card-header">
<div><a href="{{ link.site }}" target="_blank"> {{ link.name }}</a> </div>
<div class="info">{{ link.info }}</div>
</div>
</div>
{% endfor %}
</div>

参考我的配置:

---
title: 友链
type: links
---

![友链封面](https://cdn.jsdelivr.net/gh/leicancun/img@main/banner_img/wallhaven-72gzz3.webp)

<div class="links-content">
<div class="no-icon note warning"><div class="link-info">😁欢迎与我交换友链</div></div>
<div class="link-navigation">
{% for link in site.data.links.defaultlinks %}
<div class="card">
<img class="ava nomediumzoom" src="{{ link.avatar }}"/>
<div class="card-header">
<div><a href="{{ link.site }}" target="_blank"> {{ link.name }}</a> </div>
<div class="info">{{ link.info }}</div>
</div>
</div>
{% endfor %}
</div>

------

<div style="text-align:center;"><span class="with-love" id="animate1">
    <i class="fa fa-heart"></i>
  </span>留言添加友链<span class="with-love" id="animate2">
    <i class="fa fa-heart"></i>
  </span></div>

------

{% note success %}

**友链格式:**

- 网站名称:暮雨千泷
- 网站地址:https://www.myql.xyz
- 网站描述:青天白日梦神仙
- 网站Logo/头像:https://cdn.jsdelivr.net/gh/leicancun/img@main/images/avatar.webp

{% endnote %}

source/_data/下新建links.yml并添加以下内容

defaultlinks:
  - name: 暮雨千泷 # 网站名称
    site: https://www.myql.xyz # 网站地址
    info: 青天白日梦神仙 # 网站描述
    avatar: https://cdn.jsdelivr.net/gh/leicancun/img@main/images/avatar.webp # 网站头像

参考文章: