Hexo3版本添加了一项数据文件的功能,大概意思就是可以将数据保存在文件中,然后从文件中读取数据,最后展示在站点上。官方Docs中简要介绍了一下Data files的使用方法。
正好想在站点上添加友情链接的功能,使用这个数据文件的功能,就可以将友情链接的数据保存在文件中,这样就避免了将数据直接写进HTML或者 _config.yml
配置文件中。
在Hexo根目录中的 source
目录中创建 _data
目录,然后在 _data
目录中新建 links.yml
文件,内容如下:
LP's Blog: http://pengloo53.farbox.com
xiaoxiao's Blog: http://xiaoyun.farbox.com
说说事: http://www.saysays.com
添加了两行数据,代表两条友情链接。
将友情链接放到右侧的 sidebar
中,于是需要在主题目录下的 layout/_widget
中添加文件 links.ejs
,内容如下:
<% if (site.data.links){ %>
<div class="widget tag">
<h3 class="title">友情链接</h3>
<ul class="entry">
<% for (var i in site.data.links){ %>
<li class='link'><a href='<%- site.data.links[i] %>'><%= i %></a></li>
<% } %>
</ul>
</div>
<% } %>
其中的 site.data.links
就是上面创建的 links.yml
数据文件所对应的对象。
这里使用的是 Hexo-theme-light_cn 主题,在主题目录下的 _config.yml
文件中 widgets
下添加上 links
就OK了,如下图:
启动服务就可以看到如下图样式了。
以后想要添加友情链接,直接编辑 links.yml
文件就可以了,而不必去修改主题的配置文件。