【Next 7.2.0 版权声明大改动】仅需一步!开启内置版权声明(跟繁琐的自定义版权声明说拜拜~)

前言

  在之前的Next版本中,只需要到主题配置文件_config.yml中将post_copyright下的enable设为true,即可开启版权声明,如图1所示。
图1 老版本Next开启默认版权声明示意图

  但是在最新的Next7.2.0版本中,官方对版权声明的设置做出了大改动,在主题配置文件_config.yml中已经找不到设置版权声明的post_copyright选项了,于是我在百度搜索:最新Next如何开启版权声明?发现无非两种教程:

  1. 老版本Next下的教程,教你设置post_copyright为true,或是修改themes/next/layout/_macro/post-copyright.swig文件,自定义版权声明样式,比如hoxis的教程
  2. 新版本Next下的教程,发布教程的博主显然也发现了新版本Next的post_copyright选项消失了,于是乎他们便“自立门户”,通过新建themes/next/layout/_macro/my-copyright.swig和themes/next/source/css/_common/components/post/my-post-copyright.styl两个文件,再在themes/next/layout/_macro/post.swig和themes/next/source/css/_common/components/post/post.styl两个文件中分别添加相应代码,最后在文章头部添加copyright: true,达到开启版权声明的目的,比如潘高的教程,效果如图2所示。
    图2 新版本Next下自定义版权声明示意图

  于是我按照第二种自定义版权声明的教程亦步亦趋地搞,在折腾的过程中,我惊讶地发现其实官方并没有去掉内置版权声明,只是将它藏得更“深”了(不知道为啥要这么搞,蛋疼…)。下面笔者就教大家如何在Next7.2.0新版本下,开启内置版权声明(许可协议)。

开启内置版权声明步骤

  1. 笔者在学习网上教程的时候,在打开themes/next/layout/_macro/post.swig文件后发现,在代码段:
    1
    2
    3
    {% if theme.wechat_subscriber.enable and not is_index %}
    {% include '../_partials/post/wechat-subscriber.swig' %}
    {% endif %}

下面几行,存在着这么一段代码(具体在357行左右):

1
2
3
4
5
{% if theme.creative_commons.license and theme.creative_commons.post and not is_index %}
<div>
{% include '../_partials/post/post-copyright.swig' with { post: post } %}
</div>
{% endif %}

可以看到,中间那行的/_partials/post/post-copyright.swig,正是官方内置的版权声明配置文件!既然存在这个文件,就说明官方并没有抛弃版权声明,那么接下来我们就能顺着蛛丝马迹,一步步找出开启内置版权声明的办法。

  1. 打开themes/next/source/css/_common/components/post/post.styl文件,在第58(圣保罗对不起,我不是故意的)行,有一段代码@import "post-copyright" if hexo-config('creative_commons.post');。这段代码意思是:在主题配置文件_config.yml中将creative_commons项的post项设为true,就能开启内置版权声明。
  2. 打开主题配置文件_config.yml,Ctrl + F搜索找到creative_commons项,如以下代码所示:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Creative Commons 4.0 International License.
    # See: https://creativecommons.org/share-your-work/licensing-types-examples
    # Available values of license: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero
    # You can set a language value if you prefer a translated version of CC license, e.g. deed.zh
    # CC licenses are available in 39 languages, you can find the specific and correct abbreviation you need on https://creativecommons.org
    creative_commons:
    license: by-nc-sa
    sidebar: true
    post: true
    language:

这里就是Next新版本开启内置版权声明的地方,license:设置多种版权声明;sidebar:博客主页左侧栏是否显示版权声明标记;post:是否开启版权声明。开启内置版权声明后的效果如图3所示。
图3 新版本Next开启内置版权声明示意图

总结

  网上一些自定义版权声明的教程,繁琐且麻烦,而且老版本Next下的教程又驴纯不对马嘴。如果你现在用的是新版本的Next,那么只需一步,即可开启版权声明,岂不美哉~

参考文献

[1] https://hoxis.github.io/hexo-next-copyright.html
[2] https://theme-next.org/docs/theme-settings/posts
[3] http://dugblog.coding.me/Hexo/20180623-hexo-useful-skills.html

推荐阅读

【Hexo + Next】侧边栏添加自定义文件夹(如友链)

【Hexo + Next】左侧栏友链一行多个显示

【Hexo + Next 优化之坑】百度、谷歌收录sitemap站点地图

————————— 本文结束 感谢您的阅读 —————————
谢谢你请我喝咖啡ლↂ‿‿ↂლ(支付宝扫一扫即可领红包, 消费时可抵现! 你省钱, 我赚钱, 多谢支持~)