为post设置透明度

前言

之前的这篇文章中,我们发现了可以设定body-bg-colorcontent-bg-colorrgba(0, 0, 0, 0)的透明效果。而如果我们想跟官方一样用_config.yml配置呢?

官方用法

在官方用法中,我们可以看到很多诸如hexo_config方法的使用,实际上就是访问_config.yml的配置,类似theme_color等。

那么,如果我们在_config.yml文件中设定transparent属性,是不是能够更好地配置博客呢?

设定配置

我们先在Next_config文件中增加以下配置:

1
2
transparent:
enable: true

配置读取

既然我们准备好了配置,那我们就可以直接使用官方提供的配置读取方法获得这个属性了。

1
hexo_config('transparent.enable')

这里将返回我们所设定的true

修改变量

由于目前还没有彻底剖析源码,所以在这里就先用侵入性比较强的源码修改方法吧。

source/css/_variables/base.styl文件中,我们加上这么一段:

1
2
3
// post-transparent
$body-bg-color = rgba(255, 233, 244, .25) if hexo-config('transparent.enable');
$content-bg-color = rgba(255, 233, 244, .25) if hexo-config('transparent.enable');

我们依然能够得到一样的效果:

显示更好的背景图片

很不错对吧?