新增文章底部版權訊息

開啟版權訊息功能

1. 設定 config.yml

NexT 設定檔內開啟功能,將 enable 改為 true

themes/next/_configyml
1
2
3
4
5
# Declare license on posts
post_copyright:
enable: true
license: CC BY-NC-SA 4.0
license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/

2. 引入變數

在 Hexo 的設定檔內填入目前使用的 “域名” 提供 NexT 的版型內所需要的訊息

_config.yml
1
2
# URL
url: https://riemann.blog

到這邊就有一個基本的版權訊息可以使用了

注意:修改 _config.yml 需要重啟伺服才會讀取新設定

修改標題

若想要變更版權訊息的標題,可以修改 tamplate

themes/next/layout/_macro/post-copyright.swig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<ul class="post-copyright">
<li class="post-copyright-author">
- <strong>{{ __('post.copyright.author') + __('symbol.colon') }}</strong>
+ <strong>{{ __('Author') + __('symbol.colon') }}</strong>
{{ post.author | default(config.author) }}
</li>
<li class="post-copyright-link">
- <strong>{{ __('post.copyright.link') + __('symbol.colon') }}</strong>
+ <strong>{{ __('Link') + __('symbol.colon') }}</strong>
<a href="{{ post.url | default(post.permalink) }}" title="{{ post.title }}">{{ post.url | default(post.permalink) }}</a>
</li>


</li>
<li class="post-copyright-license">
<strong>{{ __('post.copyright.license_title') + __('symbol.colon') }} </strong>
{{ __('post.copyright.license_content', theme.post_copyright.license_url, theme.post_copyright.license) }}
</li>
</ul>

增加版權訊息開關選項

有些文章不想放置版權訊息時,可以做以下配置:

1. 設定 scaffold

./scaffolds/posd.md 的 front-matter 區域增加 copyright 設定:

  ---
title: {{ title }}
date: {{ date }}
+ copyright: false
---

需要在文章底部增加版權訊息時,將 copyright 設置為 true 即可, 舊有文章若無 copyright 則視為 false

2. 設定 template

按官網文件 變數 使用 page.copyright 即可讀取 Front-matter 區域的 copyright

themes/next/layout/_macro/post-copyright.swig 增加 control-flow :

+ {% if page.copyright %}
# post-copyright codeblock
+ {% endif %}

3. 修改版權訊息

修改所使用語系檔案即可

./themes/next/languages/zh-tw.yml
1
2
3
4
5
6
copyright:
author: Post author
link: Post link
license_title: Copyright Notice
license_content: 'This article is licensed under
<a href="%s" rel="external nofollow" target="_blank">%s</a>.'

設定完畢後,找兩篇 post 一篇設置 copyright: true 一篇設置 copyright: false

執行 hexo clean && hexo g 重新轉譯 /source/_posts 內所有文章,才能更新目前設定

若設定正確就可以看到各別開啟的版權訊息

修改樣式

檔案內使用的變數在 next/source/css/_variables/base.styl 設定後直接轉譯出需要 CSS 屬性值,可以減少 CSS 的重覆設定

244
245
246
247
248
249
250
251
252
253
254
255
256
// Posts Expand
// --------------------------------------------------
$posts-expand-title-font-weight = $font-weight-normal
$post-copyright = {
margin: 2em 0 0,
padding: .5em 1em,
bg: #f9f9f9,
border: {
width: 3px,
style: solid,
color: #888
}
}

參考資料
Hexo Next主题添加版权信息 | SmartSi

0%