hexo主题使用与修改

本文最后更新于:2021年11月12日 早上

添加一个小图标

增加了一个更新日期类别: updated

style.scss 添加一个updated,使用FontAwesome

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.post {
padding: 25px 0 15px;
.post-title {
margin: 0;
color: #555;
text-align: left;
font: bold 25px/1.1 "ff-tisa-web-pro", Cambria, "Times New Roman", Georgia, Times, sans-serif;
a {
color: #555;
}
}
.post-meta {
padding: 0;
margin: 15px 0 0;
color: #6E7173;
float: left;
display: inline;
text-indent: .15em;
&:before {
font-family: "FontAwesome";
content: "\f073";
padding-right: 0.3em;
}
.category {
&:before {
font-family: "FontAwesome";
content: "\f07c";
padding-right: 0.3em;
}
}
.updated {
&:before {
font-family: "FontAwesome";
content: "\f044";
padding-right: 0.3em;
}
}

post.pug 使用span,添加updated信息

1
2
3
4
5
6
7
8
9
10
11
12
13
block content
.post
h1.post-title= page.title
.post-meta= page.date.format('ll')
if page.categories.length > 0
span= ' | '
span.category
for category in page.categories.toArray()
a(href=url_for(category.path))= category.name
if page.updated
span= ' | '
span.updated
= page.updated.format('ll')

如果在markdown文件中不添加updated这个值,那么hexo会获取文件的修改日期,并渲染出来。

参考:

添加Google Adsense

head.pug中添加

1
2
3
4
5
6
script(src='https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', async)
script.
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-7286632197002340",
enable_page_level_ads: true
});

添加侧边栏

添加一个微信公众号的侧边栏展示

主题layout/_widget中添加qr_code.pug

1
2
3
4
.widget
.widget-title
i(class='fa fa-weixin')= ' ' + __('微信公众号')
img(src='http://rustblogres.rustfisher.com/qrcode_for_rf_dev_gzh_258.jpg')

_config.yml中添加 qr_code

1
2
3
widgets: 
# 前面的组建
- qr_code

更改归档界面的链接个数

在工程的配置文件_config.yml里修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Pagination
## Set per_page to 0 to disable pagination
pagination_dir: page
index_generator:
per_page: 15
order_by: -date

category_generator:
per_page: 15

tag_generator:
per_page: 10

archive_generator:
per_page: 30
yearly: true
monthly: true
daily: false

文章置顶及置顶标签

首先更换一下generator

1
2
$ npm uninstall hexo-generator-index --save
$ npm install hexo-generator-index-pin-top --save

再到themes/maupassant里,查找.post-meta,并且在下面添加top的判断。

1
2
3
4
5
.post-meta= post.date.format(config.date_format)
if post.top
span.post-top-icon
i(class="fa fa-thumb-tack")
span.post-meta-item-text=" 置顶"

在文章开头的Front-matter中加上top: true即可。

报错

大括号报错

md中出现形如 大括号大括号 的时候,编译会报错。

fluid主题

配置leancloud评论与pv统计

使用fluid,配置leancloud评论和pv的时候

检查生成的网页发现leancloud里的app_id是空的。

1
"leancloud":{"app_id":null,"app_key":null,"server_url":null,"appid":"xxx","appkey":"yyy"}

意识到评论和pv统计在配置上不同,评论用的是appid。pv统计用的是app_id

配置应该写成这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
web_analytics:  # 网页访问统计
enable: true
leancloud: # LeanCloud 计数统计,可用于 PV UV 展示,如果 web_analytics.enable 没有开启,PV UV 展示只会查询,不会增加
app_id: xxx ## 注意这里的key写法
app_key: yyy ## 注意这里的key写法

# ...

# 文章的配置
post:
comments:
enable: true
type: valine
meta:
views: # 阅读次数
enable: true
source: leancloud # 统计数据来源,可选:leancloud | busuanzi 注意不蒜子会间歇抽风
format: "{} 次"

valine:
enable: true ## if you want to use Valine comment system, please set the value to true
appid: ddddd ## 注意这里的key,没有下划线 your leancloud application appid
appkey: aaaaa ## 注意这里的key,没有下划线 your leancloud application appkey
placeholder: 输入评论... ## comment input placeholder text
avatar: 'mp' ## header image https://github.com/xCss/Valine/wiki


hexo主题使用与修改
https://blog.rustfisher.com/2019/08/06/Web/hexo-themes_use/
作者
Rust Fisher
发布于
2019年8月6日
许可协议