hexo设置友情链接只在首页显示的方法
2016-06-22 | WEB开发 | 暂无评论 | 5606 次阅读 | 364字
当初用wordpress也遇到了友情链接首页显示问题,百度一下就很容易解决了,但百度一下hexo的友情链接只在首页显示却没有发现相关解决的帖子,由于next主题每个页面都有站点概览,这个主题可以通过主题配置文件设置友情链接,友情链接就会在站点概览下面显示即全站友情链接,于是就习惯的还是从网站首页底部设置友情链接,就对/next/layout/index.swig进行修改,以前也接触过类似swig的模板引擎,虽然看着挺陌生,但还是尝试修改了一下<!--more-->
{% block footer %}
友情链接展示
{% endblock %}
由于对自适应代码不熟,手机上显示效果不咋地,就又折腾了一上午,就想着为啥主题文件可以直接设置下就可以直接显示链接了,就看了下站点概览处的link代码/next/layout/_macro/sidebar.swig如下:
{# Blogroll #}
{% if theme.links %}
....
{% endif %}
一看一目了然了,只要配置文件中设置了link属性,theme.links就是true,就想当然了修改为
{% if theme.links && theme.indexlink=='1'%}
然后在/next/layout/index.swig首页模板下修改如下:
{% block sidebar %}
{% set theme.indexlink="1" %}
{{ sidebar_template.render(false) }}
{% endblock %}
这样设置后还是不可以,就想是不是theme.indexlink值没有传递过去,看了半天,想到theme.links说明theme是个类,我不能直接想当然的theme.indexlink,因为theme类中根本就没有这个属性,所以我改成如下就顺利的实现了只有首页显示友情链接了。
{# Blogroll #}
{% if theme.links && indexlink=='true' %}
....
{% endif %}
{% block sidebar %}
{% set indexlink="true" %}
{{ sidebar_template.render(false) }}
{% endblock %}
本篇文章未指定许可协议。
arrow_back 上一篇
arrow_forward 下一篇