再次提示:
- 下面输入的命令都在 Git Bash 中输入。
- 下文提到的目录地址都是面对NexT主题的,不过其他主题的索引也都大同小异。
1. hexo博客结构
在这里,我们先来看看hexo自动生成的博客的主要结构。
├─scaffolds //每篇帖子模板所在地
├─source
│ └─_posts //这里放着我们写的帖子 里面初始化一篇hello-world.md
└─themes //hexo博客主题所在地
└─landscape //初始化主题默认为landscape
├─node_modules //hexo的驱动文件所在地
├─_config.yml //hexo博客配置文件
这些都是我们有可能去改变的。看完了这个,接下来开始让我们的博客变得添砖加瓦吧。
2. 添砖加瓦
2.1 安装主题
一个好看的主题可以更加吸引读者,但是从头设计主题也太麻烦了吧~,所以Hexo有很多现成的主题。传送门 [ Hexo主题 ]
我们利用语句下载下来我们需要的主题。例如我们下载hexo-theme-next
这个主题。
$ git clone https://github.com/iissnan/hexo-theme-next.git themes/hexo-theme-next
然后进入上面提到的 themes 文件夹下,可以看见出现了hexo-theme-next文件夹。此时我们到博客根目录下的 _config.yml,修改博客所用的主题 (第66行) 。
# Extensions
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: hexo-theme-next
改完后,我们在 Git Bash 中输入
hexo g
hexo s
进入 [ http://127.0.0.1:4000/ ] 查看我们的页面,是不是变得高大上多啦。这一章主要是完善博客所必须的一些内容。
2.2 第三方评论
博客怎么能没有让小伙伴说话的地方呢。因为Hexo博客是静态博客,所以评论系统我们得靠其他的插件了。NexT这个主题支持 Disqus 和多说两种第三方评论插件。我使用的是多说。Disqus的看这里有提到 Hexo在github上构建免费的Web应用。
- 进入多说平台,点击 “ 我要安装 “ 。
- 配置好自己的站点,注意多说域名这一栏是我们接下来需要的东西。站点地址就是你Hexo博客上传的GitHub页面地址。
- 在你的站点配置文件 (不是主题配置文件) _config.yml加一行:
duoshuo_shortname: 你的多说域名
( 多说域名: 你的多说二级域名去掉 .duoshuo.com 部分 ) - 再次生成上传
hexo g
,hexo d
(没有事先部署到GitHub上的看这里 Hexo博客第二站:部署到GitHub上),点击文章hello-world,是不是看见最下方出现了评论系统啦。管理的话进入多说的后台管理就行了。 - **有人可能觉得多说的标准css样式不怎么好看。你可以进入后台管理-设置-基本设置-自定义CSS里面编辑自己想要的。我用的是从网上借鉴来,自己改动了一些的。
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
38
39
40
41
42
43#ds-reset .ds-avatar,
#ds-recent-visitors .ds-avatar{
filter: alpha(opacity=0); /*设置图片背景透明*/
background-color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0);
}
#ds-reset .ds-avatar img,
#ds-recent-visitors .ds-avatar img {
width: 54px;
height: 54px; /*设置图像的长和宽,这里要根据自己的评论框情况更改*/
border-radius: 27px; /*设置图像圆角效果,在这里我直接设置了超过width/2的像素,即为圆形了*/
-webkit-border-radius: 27px; /*圆角效果:兼容webkit浏览器*/
-moz-border-radius: 27px;
box-shadow: inset 0 -1px 0 #3333sf; /*设置图像阴影效果*/
-webkit-box-shadow: inset 0 -1px 0 #3333sf;
-webkit-transition: 0.4s;
-webkit-transition: -webkit-transform 0.4s ease-out;
transition: transform 0.4s ease-out; /*变化时间设置为0.4秒(变化动作即为下面的图像旋转360读)*/
-moz-transition: -moz-transform 0.4s ease-out;
}
#ds-reset .ds-avatar img:hover,
#ds-recent-visitors .ds-avatar img:hover {
/*设置鼠标悬浮在头像时的CSS样式*/ box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6), inset 0 0 20px rgba(255, 255, 255, 1);
-webkit-box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6), inset 0 0 20px rgba(255, 255, 255, 1);
transform: rotateZ(360deg); /*图像旋转360度*/
-webkit-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);
}
#ds-recent-visitors .ds-avatar {
float: left
}
/*隐藏多说底部版权*/
#ds-thread #ds-reset .ds-powered-by {
display: none;
}
2.3 博客分享
我们的博客写的好,会有人希望分享给其他人看。NexT主题有两个分享部件:多说分享和JiaThis。多说分享首先必须启用了多说才能使用。我们在站点配置文件下加上如下的语句,如果你想开启多说分享服务,把jiathis注释掉,取消duoshuo_share的注释就行啦。
# JiaThis 分享服务
jiathis: true
# 多说热评文章服务
duoshuo_hotartical: true
# # 多说 分享服务(必须启用多说)
# duoshuo_share: true
2.4 网站统计
其实我觉得google,百度统计这些对于许多人用不太上,毕竟不能直接观察到自己的博客有多少人看了什么的。如果需要安装的看这里>添加 Google, 百度统计。这里推荐一个小插件-不蒜子。这个小插件可以让你轻而易举的看见自己的博客火热程度,例如访问量和访问人数等。
有一个好玩的小地方,你为了想看到每一篇文章的阅读量,你可以在/themes/hexo-theme-next/layout/_macro/post.swig
里面的下面的位置加上如下代码,(这个热度是从一个博客上看到的,感觉很有趣哈):1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22{% if post.categories and post.categories.length %}
<span class="post-category" >
</span>
{% endif %}
<!-- 在下面的位置加上如下代码 -->
<span id="busuanzi_container_page_pv">
| 热度 <span id="busuanzi_value_page_pv"></span>°C
</span>
<!-- 在上面的位置加上如上代码 -->
{% if post.comments %}
{% if (theme.duoshuo and theme.duoshuo.shortname) or theme.duoshuo_shortname %}
<span class="post-comments-count">
|
<a href="{{ url_for(post.path) }}#comments" itemprop="discussionUrl">
<span class="post-comments-count ds-thread-count" data-thread-key="{{ post.path }}" itemprop="commentsCount"></span>
</a>
</span>
但是这有一个缺陷。就是我们会发现在主页时显示的热度和进入博客后的热度不一样,那是因为在主页时他显示的是主页这个页面的阅读量,而不是博客的阅读量,所以我们需要改变一些 (不会该代码的哭死╥﹏╥… ):
我们在/themes/hexo-theme-next/layout/_macro/
目录下新建post-article.swig
,把这些post.swig
中的内容复制过去,而且加上上面的统计代码,然后在/themes/hexo-theme-next/layout/post.swig
上面% import '_macro/post.swig' as post_template %
中的post.swig
改成post-article.swig
,这样子就解决啦。就是在主页上的博客名字下面不会有阅读人数,进入博客才能看见。
为了给大家尽量详细的说明,不知不觉发现这篇文章写得好长^O^ ,下次接着写。